diff options
497 files changed, 20301 insertions, 5087 deletions
diff --git a/.tito/packages/openshift-ansible b/.tito/packages/openshift-ansible index bf76a3913..3ab6b3fb1 100644 --- a/.tito/packages/openshift-ansible +++ b/.tito/packages/openshift-ansible @@ -1 +1 @@ -3.9.0-0.39.0 ./ +3.9.0-0.42.0 ./ diff --git a/inventory/hosts.example b/inventory/hosts.example index 82c588100..b2237df3c 100644 --- a/inventory/hosts.example +++ b/inventory/hosts.example @@ -934,6 +934,9 @@ openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', # Force a specific image version to use when pulling the service catalog image #openshift_service_catalog_image_version=v3.7 +# TSB image tag +#template_service_broker_version='v3.7' + # Configure one of more namespaces whose templates will be served by the TSB #openshift_template_service_broker_namespaces=['openshift'] diff --git a/openshift-ansible.spec b/openshift-ansible.spec index 1ec707543..531aa63b3 100644 --- a/openshift-ansible.spec +++ b/openshift-ansible.spec @@ -10,7 +10,7 @@ Name: openshift-ansible Version: 3.9.0 -Release: 0.39.0%{?dist} +Release: 0.42.0%{?dist} Summary: Openshift and Atomic Enterprise Ansible License: ASL 2.0 URL: https://github.com/openshift/openshift-ansible @@ -201,6 +201,71 @@ Atomic OpenShift Utilities includes %changelog +* Fri Feb 09 2018 Justin Pierce <jupierce@redhat.com> 3.9.0-0.42.0 +- xPaaS v1.4.8 for v3.7 (sdodson@redhat.com) +- xPaaS v1.4.8-1 for v3.8 (sdodson@redhat.com) +- xPaaS v1.4.8-1 for v3.9 (sdodson@redhat.com) +- Bump xpaas version (sdodson@redhat.com) +- Bug 1524805- CFME example now works disconnected (fabian@fabianism.us) +- Only try to yaml.load a file if it ends in .yml or .yaml in logging facts + (ewolinet@redhat.com) +- Set default image tag to openshift_image_tag for services + (vrutkovs@redhat.com) +- Redeploy router certificates during upgrade only when secure. + (kwoodson@redhat.com) +- GlusterFS: Fix block StorageClass heketi route (jarrpa@redhat.com) +- changed oc to {{ openshift_client_binary }} (datarace101@gmail.com) +- Use v3.9 web-console image for now (sdodson@redhat.com) +- Adding ability to provide additional mounts to crio system container. + (kwoodson@redhat.com) +- Remove spaces introduced at the start of the line + (geoff.newson@googlemail.com) +- Changing the check for the number of etcd nodes (geoff.newson@gmail.com) +- aws ami: make it so the tags from the orinal AMI are used with the newly + created AMI (mwoodson@redhat.com) +- Setup docker excluder if requested before container_runtime is installed + (vrutkovs@redhat.com) +- openshift_node: Remove master from aws node building (smilner@redhat.com) +- Use wait_for_connection to validate ssh transport is alive + (sdodson@redhat.com) +- Bug 1541625- properly cast provided ip address to unicode + (fabian@fabianism.us) +- Add base package installation to upgrade playbooks (rteague@redhat.com) +- 3.9 upgrade: fix typos in restart masters procedure (vrutkovs@redhat.com) +- quick installer: disable broken test_get_hosts_to_run_on6 test + (vrutkovs@redhat.com) +- Quick installer: run prerequistes first and update path to main playbook + (vrutkovs@redhat.com) +- Fix uninstall using openshift_prometheus_state=absent (zgalor@redhat.com) +- Detect config changes in console liveness probe (spadgett@redhat.com) +- Fix master and node system container variables (mgugino@redhat.com) +- Correct the list of certificates checked in openshift_master_certificates + s.t. masters do not incorrectly report that master certs are missing. + (abutcher@redhat.com) +- tag fix without ose- (rcook@redhat.com) +- lib_utils_oo_collect: Allow filtering on dot separated keys. + (abutcher@redhat.com) +- Determine which etcd host is the etcd_ca_host rather than assume it is the + first host in the etcd host group. (abutcher@redhat.com) +- Attempt to back up generated certificates on every etcd host. + (abutcher@redhat.com) +- Remove pre upgrade verification step re: etcd ca host. (abutcher@redhat.com) +- Revert "GlusterFS: Remove image option from heketi command" (hansmi@vshn.ch) + +* Wed Feb 07 2018 Justin Pierce <jupierce@redhat.com> 3.9.0-0.41.0 +- Allow OVS 2.7 in OCP 3.10 (sdodson@redhat.com) +- GlusterFS: Minor documentation update (jarrpa@redhat.com) +- Make sure to include upgrade_pre when upgrading master nodes + (sdodson@redhat.com) + +* Wed Feb 07 2018 Justin Pierce <jupierce@redhat.com> 3.9.0-0.40.0 +- health checks: tolerate ovs 2.9 (lmeyer@redhat.com) +- Fix docker rpm upgrade install task wording (mgugino@redhat.com) +- Initial support for 3.10 (sdodson@redhat.com) +- add deprovisioning for ELB (and IAM certs) (jdiaz@redhat.com) +- [6632] fix indentation of terminationGracePeriodSeconds var + (jsanda@redhat.com) + * Tue Feb 06 2018 Justin Pierce <jupierce@redhat.com> 3.9.0-0.39.0 - Update code to not fail when rc != 0 (kwoodson@redhat.com) - Upgrades: pass openshift_manage_node_is_master to master nodes during upgrade diff --git a/playbooks/aws/openshift-cluster/uninstall_elb.yml b/playbooks/aws/openshift-cluster/uninstall_elb.yml new file mode 100644 index 000000000..c1b724f0c --- /dev/null +++ b/playbooks/aws/openshift-cluster/uninstall_elb.yml @@ -0,0 +1,9 @@ +--- +- name: Delete elb + hosts: localhost + connection: local + tasks: + - name: deprovision elb + include_role: + name: openshift_aws + tasks_from: uninstall_elb.yml diff --git a/playbooks/cluster-operator/aws/components.yml b/playbooks/cluster-operator/aws/components.yml new file mode 100644 index 000000000..8587aac45 --- /dev/null +++ b/playbooks/cluster-operator/aws/components.yml @@ -0,0 +1,24 @@ +--- +- name: Alert user to variables needed + hosts: localhost + tasks: + - name: Alert user to variables needed - clusterid + debug: + msg: "openshift_aws_clusterid={{ openshift_aws_clusterid | default('default') }}" + + - name: Alert user to variables needed - region + debug: + msg: "openshift_aws_region={{ openshift_aws_region | default('us-east-1') }}" + +- name: Setup the master node group + hosts: localhost + tasks: + - import_role: + name: openshift_aws + tasks_from: setup_master_group.yml + +- name: run the init + import_playbook: ../../init/main.yml + +- name: Include the components playbook to finish the hosted configuration + import_playbook: ../../common/private/components.yml diff --git a/playbooks/common/openshift-cluster/upgrades/docker/docker_upgrade.yml b/playbooks/common/openshift-cluster/upgrades/docker/docker_upgrade.yml index 8392e21ee..094c70b46 100644 --- a/playbooks/common/openshift-cluster/upgrades/docker/docker_upgrade.yml +++ b/playbooks/common/openshift-cluster/upgrades/docker/docker_upgrade.yml @@ -19,7 +19,7 @@ - import_role: name: container_runtime tasks_from: docker_upgrade_check.yml - when: docker_upgrade is not defined or docker_upgrade | bool + when: docker_upgrade | default(True) | bool # If a node fails, halt everything, the admin will need to clean up and we diff --git a/playbooks/common/openshift-cluster/upgrades/init.yml b/playbooks/common/openshift-cluster/upgrades/init.yml index ba783638d..a9a35b028 100644 --- a/playbooks/common/openshift-cluster/upgrades/init.yml +++ b/playbooks/common/openshift-cluster/upgrades/init.yml @@ -6,6 +6,7 @@ g_new_node_hosts: [] - import_playbook: ../../../init/basic_facts.yml +- import_playbook: ../../../init/base_packages.yml - import_playbook: ../../../init/cluster_facts.yml - name: Ensure firewall is not switched during upgrade diff --git a/playbooks/common/openshift-cluster/upgrades/post_control_plane.yml b/playbooks/common/openshift-cluster/upgrades/post_control_plane.yml index 9c927c0a1..3144e9ef5 100644 --- a/playbooks/common/openshift-cluster/upgrades/post_control_plane.yml +++ b/playbooks/common/openshift-cluster/upgrades/post_control_plane.yml @@ -114,23 +114,27 @@ openshift_hosted_templates_import_command: replace post_tasks: - # we need to migrate customers to the new pattern of pushing to the registry via dns - # Step 1: verify the certificates have the docker registry service name - - shell: > - echo -n | openssl s_client -showcerts -servername docker-registry.default.svc -connect docker-registry.default.svc:5000 | openssl x509 -text | grep -A1 'X509v3 Subject Alternative Name:' | grep -Pq 'DNS:docker-registry\.default\.svc(,|$)' - register: cert_output - changed_when: false - failed_when: - - cert_output.rc not in [0, 1] - - # Step 2: Set a fact to be used to determine if we should run the redeploy of registry certs - - name: set a fact to include the registry certs playbook if needed - set_fact: - openshift_hosted_rollout_certs_and_registry: "{{ cert_output.rc == 0 }}" - -# Run the redeploy certs based upon the certificates -- when: hostvars[groups.oo_first_master.0].openshift_hosted_rollout_certs_and_registry - import_playbook: ../../../openshift-hosted/redeploy-registry-certificates.yml + # Do not perform these tasks when the registry is insecure. The default registry is insecure in openshift_hosted/defaults/main.yml + - when: not (openshift_docker_hosted_registry_insecure | default(True)) + block: + # we need to migrate customers to the new pattern of pushing to the registry via dns + # Step 1: verify the certificates have the docker registry service name + - name: shell command to determine if the docker-registry.default.svc is found in the registry certificate + shell: > + echo -n | openssl s_client -showcerts -servername docker-registry.default.svc -connect docker-registry.default.svc:5000 | openssl x509 -text | grep -A1 'X509v3 Subject Alternative Name:' | grep -Pq 'DNS:docker-registry\.default\.svc(,|$)' + register: cert_output + changed_when: false + failed_when: + - cert_output.rc not in [0, 1] + + # Step 2: Set a fact to be used to determine if we should run the redeploy of registry certs + - name: set a fact to include the registry certs playbook if needed + set_fact: + openshift_hosted_rollout_certs_and_registry: "{{ cert_output.rc != 0 }}" + +# Run the redeploy certs based upon the certificates. Defaults to False for insecure registries +- when: (hostvars[groups.oo_first_master.0].openshift_hosted_rollout_certs_and_registry | default(False)) | bool + import_playbook: ../../../openshift-hosted/private/redeploy-registry-certificates.yml # Check for warnings to be printed at the end of the upgrade: - name: Clean up and display warnings @@ -161,3 +165,10 @@ msg: "WARNING the shared-resource-viewer role could not be upgraded to 3.6 spec because it's marked protected, please see https://bugzilla.redhat.com/show_bug.cgi?id=1493213" when: - __shared_resource_viewer_protected | default(false) + +- name: Upgrade Service Catalog + hosts: oo_first_master + roles: + - role: openshift_service_catalog + when: + - openshift_enable_service_catalog | default(true) | bool diff --git a/playbooks/common/openshift-cluster/upgrades/pre/config.yml b/playbooks/common/openshift-cluster/upgrades/pre/config.yml index 44af37b2d..c027fc8f5 100644 --- a/playbooks/common/openshift-cluster/upgrades/pre/config.yml +++ b/playbooks/common/openshift-cluster/upgrades/pre/config.yml @@ -79,3 +79,4 @@ - import_role: name: container_runtime tasks_from: docker_upgrade_check.yml + when: docker_upgrade | default(True) | bool diff --git a/playbooks/common/openshift-cluster/upgrades/pre/verify_cluster.yml b/playbooks/common/openshift-cluster/upgrades/pre/verify_cluster.yml index 463a05688..4902b9ecd 100644 --- a/playbooks/common/openshift-cluster/upgrades/pre/verify_cluster.yml +++ b/playbooks/common/openshift-cluster/upgrades/pre/verify_cluster.yml @@ -94,25 +94,3 @@ state: started enabled: yes with_items: "{{ master_services }}" - -# Until openshift-ansible is determining which host is the CA host we -# must (unfortunately) ensure that the first host in the etcd group is -# the etcd CA host. -# https://bugzilla.redhat.com/show_bug.cgi?id=1469358 -- name: Verify we can proceed on first etcd - hosts: oo_first_etcd - gather_facts: no - tasks: - - name: Ensure CA exists on first etcd - stat: - path: /etc/etcd/generated_certs - register: __etcd_ca_stat - - - fail: - msg: > - In order to correct an etcd certificate signing problem - upgrading may require re-generating etcd certificates. Please - ensure that the /etc/etcd/generated_certs directory exists on - the first host defined in your [etcd] group. - when: - - not __etcd_ca_stat.stat.exists | bool diff --git a/playbooks/common/openshift-cluster/upgrades/upgrade_control_plane.yml b/playbooks/common/openshift-cluster/upgrades/upgrade_control_plane.yml index 40e245d75..3c0b72832 100644 --- a/playbooks/common/openshift-cluster/upgrades/upgrade_control_plane.yml +++ b/playbooks/common/openshift-cluster/upgrades/upgrade_control_plane.yml @@ -311,6 +311,9 @@ post_tasks: - import_role: name: openshift_node + tasks_from: upgrade_pre.yml + - import_role: + name: openshift_node tasks_from: upgrade.yml - import_role: name: openshift_manage_node diff --git a/playbooks/common/openshift-cluster/upgrades/v3_9/upgrade_control_plane.yml b/playbooks/common/openshift-cluster/upgrades/v3_9/upgrade_control_plane.yml index 8792295c6..9c7677f1b 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_9/upgrade_control_plane.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_9/upgrade_control_plane.yml @@ -15,6 +15,7 @@ vars: l_upgrade_no_switch_firewall_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" + l_base_packages_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" ## Check to see if they're running 3.7 and if so upgrade them to 3.8 on control plan ## If they've specified pkg_version or image_tag preserve that for later use @@ -125,8 +126,8 @@ - name: Restart master controllers to force new leader election mode service: name: "{{ openshift_service_type }}-master-controllers" - state: restart - when: openshift.common.rolling_restart_mode == 'service' + state: restarted + when: openshift.common.rolling_restart_mode == 'services' - name: Re-enable master controllers to force new leader election mode service: name: "{{ openshift_service_type }}-master-controllers" diff --git a/playbooks/common/private/components.yml b/playbooks/common/private/components.yml index 089645d07..739be93c5 100644 --- a/playbooks/common/private/components.yml +++ b/playbooks/common/private/components.yml @@ -20,7 +20,9 @@ - import_playbook: ../../openshift-hosted/private/config.yml - import_playbook: ../../openshift-web-console/private/config.yml - when: openshift_web_console_install | default(true) | bool + when: + - openshift_web_console_install | default(true) | bool + - openshift.common.version_gte_3_9 - import_playbook: ../../openshift-metrics/private/config.yml when: openshift_metrics_install_metrics | default(false) | bool diff --git a/playbooks/container-runtime/config.yml b/playbooks/container-runtime/config.yml index f15aa771f..d7f3634ec 100644 --- a/playbooks/container-runtime/config.yml +++ b/playbooks/container-runtime/config.yml @@ -1,6 +1,8 @@ --- - import_playbook: ../init/main.yml vars: - skip_verison: True + skip_version: True + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" - import_playbook: private/config.yml diff --git a/playbooks/container-runtime/private/config.yml b/playbooks/container-runtime/private/config.yml index 5396df20a..d5312de15 100644 --- a/playbooks/container-runtime/private/config.yml +++ b/playbooks/container-runtime/private/config.yml @@ -12,6 +12,12 @@ - role: container_runtime tasks: - import_role: + name: openshift_excluder + tasks_from: enable.yml + vars: + r_openshift_excluder_action: enable + r_openshift_excluder_enable_openshift_excluder: false + - import_role: name: container_runtime tasks_from: package_docker.yml when: diff --git a/playbooks/container-runtime/setup_storage.yml b/playbooks/container-runtime/setup_storage.yml index 98e876b2c..17ff11cfd 100644 --- a/playbooks/container-runtime/setup_storage.yml +++ b/playbooks/container-runtime/setup_storage.yml @@ -1,6 +1,8 @@ --- - import_playbook: ../init/main.yml vars: - skip_verison: True + skip_version: True + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" - import_playbook: private/setup_storage.yml diff --git a/playbooks/gcp/openshift-cluster/build_image.yml b/playbooks/gcp/openshift-cluster/build_image.yml index 787de8ebc..0daf61122 100644 --- a/playbooks/gcp/openshift-cluster/build_image.yml +++ b/playbooks/gcp/openshift-cluster/build_image.yml @@ -62,6 +62,12 @@ timeout: 120 with_items: "{{ gce.instance_data }}" +- name: Wait for full SSH connection + hosts: nodes + gather_facts: no + tasks: + - wait_for_connection: + - hosts: nodes tasks: - name: Set facts diff --git a/playbooks/init/base_packages.yml b/playbooks/init/base_packages.yml index 81f4dd183..addb4f44d 100644 --- a/playbooks/init/base_packages.yml +++ b/playbooks/init/base_packages.yml @@ -1,8 +1,9 @@ --- -# l_scale_up_hosts may be passed in via prerequisites.yml during scaleup plays. +# l_base_packages_hosts may be passed in via prerequisites.yml during scaleup plays +# and upgrade_control_plane.yml upgrade plays. - name: Install packages necessary for installer - hosts: "{{ l_scale_up_hosts | default('oo_all_hosts') }}" + hosts: "{{ l_base_packages_hosts | default('oo_all_hosts') }}" any_errors_fatal: true tasks: - when: diff --git a/playbooks/init/evaluate_groups.yml b/playbooks/init/evaluate_groups.yml index e8bf1892c..81d7d63ca 100644 --- a/playbooks/init/evaluate_groups.yml +++ b/playbooks/init/evaluate_groups.yml @@ -51,7 +51,7 @@ upgrade please see https://docs.openshift.com/container-platform/latest/install_config/upgrading/migrating_embedded_etcd.html for documentation on how to migrate from embedded to external etcd. when: - - g_etcd_hosts | default([]) | length not in [5,3,1] + - g_etcd_hosts | default([]) | length == 0 - not (openshift_node_bootstrap | default(False)) - name: Evaluate oo_all_hosts diff --git a/playbooks/init/main.yml b/playbooks/init/main.yml index 9886691e0..468d81fbe 100644 --- a/playbooks/init/main.yml +++ b/playbooks/init/main.yml @@ -1,5 +1,5 @@ --- -# skip_verison and l_install_base_packages are passed in via prerequistes.yml. +# skip_version and l_install_base_packages are passed in via prerequistes.yml. # skip_sanity_checks is passed in via openshift-node/private/image_prep.yml - name: Initialization Checkpoint Start @@ -27,7 +27,7 @@ - import_playbook: cluster_facts.yml - import_playbook: version.yml - when: not (skip_verison | default(False)) + when: not (skip_version | default(False)) - import_playbook: sanity_checks.yml when: not (skip_sanity_checks | default(False)) diff --git a/playbooks/openshift-etcd/certificates.yml b/playbooks/openshift-etcd/certificates.yml index c06e3b575..86caba4e8 100644 --- a/playbooks/openshift-etcd/certificates.yml +++ b/playbooks/openshift-etcd/certificates.yml @@ -1,5 +1,11 @@ --- - import_playbook: ../init/main.yml + vars: + skip_version: True + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" + l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" + l_sanity_check_hosts: "{{ groups['oo_etcd_to_config'] | union(groups['oo_masters_to_config']) }}" - import_playbook: private/ca.yml diff --git a/playbooks/openshift-etcd/config.yml b/playbooks/openshift-etcd/config.yml index c7814207c..378edce85 100644 --- a/playbooks/openshift-etcd/config.yml +++ b/playbooks/openshift-etcd/config.yml @@ -1,4 +1,10 @@ --- - import_playbook: ../init/main.yml + vars: + skip_version: True + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" + l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" + l_sanity_check_hosts: "{{ groups['oo_etcd_to_config'] | union(groups['oo_masters_to_config']) }}" - import_playbook: private/config.yml diff --git a/playbooks/openshift-etcd/embedded2external.yml b/playbooks/openshift-etcd/embedded2external.yml index 7d090fa9b..34be38ac0 100644 --- a/playbooks/openshift-etcd/embedded2external.yml +++ b/playbooks/openshift-etcd/embedded2external.yml @@ -1,4 +1,10 @@ --- - import_playbook: ../init/main.yml + vars: + skip_version: True + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" + l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" + l_sanity_check_hosts: "{{ groups['oo_etcd_to_config'] | union(groups['oo_masters_to_config']) }}" - import_playbook: private/embedded2external.yml diff --git a/playbooks/openshift-etcd/migrate.yml b/playbooks/openshift-etcd/migrate.yml index 0340b74a5..4e8238ebd 100644 --- a/playbooks/openshift-etcd/migrate.yml +++ b/playbooks/openshift-etcd/migrate.yml @@ -1,4 +1,10 @@ --- - import_playbook: ../init/main.yml + vars: + skip_version: True + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" + l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" + l_sanity_check_hosts: "{{ groups['oo_etcd_to_config'] | union(groups['oo_masters_to_config']) }}" - import_playbook: private/migrate.yml diff --git a/playbooks/openshift-etcd/private/ca.yml b/playbooks/openshift-etcd/private/ca.yml index 72c39d546..77e7b0ed0 100644 --- a/playbooks/openshift-etcd/private/ca.yml +++ b/playbooks/openshift-etcd/private/ca.yml @@ -10,7 +10,6 @@ tasks_from: ca.yml vars: etcd_peers: "{{ groups.oo_etcd_to_config | default([], true) }}" - etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" etcd_certificates_etcd_hosts: "{{ groups.oo_etcd_to_config | default([], true) }}" when: - etcd_ca_setup | default(True) | bool diff --git a/playbooks/openshift-etcd/private/certificates-backup.yml b/playbooks/openshift-etcd/private/certificates-backup.yml index 2f9bef799..e1354de67 100644 --- a/playbooks/openshift-etcd/private/certificates-backup.yml +++ b/playbooks/openshift-etcd/private/certificates-backup.yml @@ -1,6 +1,6 @@ --- - name: Backup and remove generated etcd certificates - hosts: oo_first_etcd + hosts: oo_etcd_to_config any_errors_fatal: true tasks: - import_role: diff --git a/playbooks/openshift-etcd/private/config.yml b/playbooks/openshift-etcd/private/config.yml index 35407969e..bbc952d8e 100644 --- a/playbooks/openshift-etcd/private/config.yml +++ b/playbooks/openshift-etcd/private/config.yml @@ -22,7 +22,6 @@ - role: openshift_clock - role: openshift_etcd etcd_peers: "{{ groups.oo_etcd_to_config | default([], true) }}" - etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" etcd_certificates_etcd_hosts: "{{ groups.oo_etcd_to_config | default([], true) }}" - role: nickhammond.logrotate diff --git a/playbooks/openshift-etcd/private/master_etcd_certificates.yml b/playbooks/openshift-etcd/private/master_etcd_certificates.yml index d98470db2..4e4972dba 100644 --- a/playbooks/openshift-etcd/private/master_etcd_certificates.yml +++ b/playbooks/openshift-etcd/private/master_etcd_certificates.yml @@ -5,9 +5,7 @@ roles: - role: openshift_etcd_facts - role: openshift_etcd_client_certificates - etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" etcd_cert_subdir: "openshift-master-{{ openshift.common.hostname }}" etcd_cert_config_dir: "{{ openshift.common.config_base }}/master" etcd_cert_prefix: "master.etcd-" - openshift_ca_host: "{{ groups.oo_first_master.0 }}" when: groups.oo_etcd_to_config is defined and groups.oo_etcd_to_config diff --git a/playbooks/openshift-etcd/private/redeploy-ca.yml b/playbooks/openshift-etcd/private/redeploy-ca.yml index a3acf6945..55409e503 100644 --- a/playbooks/openshift-etcd/private/redeploy-ca.yml +++ b/playbooks/openshift-etcd/private/redeploy-ca.yml @@ -45,7 +45,6 @@ tasks_from: distribute_ca.yml vars: etcd_sync_cert_dir: "{{ hostvars['localhost'].g_etcd_mktemp.stdout }}" - etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" - import_playbook: restart.yml # Do not restart etcd when etcd certificates were previously expired. diff --git a/playbooks/openshift-etcd/private/scaleup.yml b/playbooks/openshift-etcd/private/scaleup.yml index 8a9811a25..162a5eba7 100644 --- a/playbooks/openshift-etcd/private/scaleup.yml +++ b/playbooks/openshift-etcd/private/scaleup.yml @@ -12,8 +12,6 @@ hosts: oo_new_etcd_to_config serial: 1 any_errors_fatal: true - vars: - etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" pre_tasks: - name: Add new etcd members to cluster command: > @@ -42,7 +40,6 @@ - role: openshift_etcd when: etcd_add_check.rc == 0 etcd_peers: "{{ groups.oo_etcd_to_config | union(groups.oo_new_etcd_to_config)| default([], true) }}" - etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" etcd_certificates_etcd_hosts: "{{ groups.oo_etcd_to_config | default([], true) }}" etcd_initial_cluster_state: "existing" etcd_initial_cluster: "{{ etcd_add_check.stdout_lines[3] | regex_replace('ETCD_INITIAL_CLUSTER=','') | regex_replace('\"','') }}" @@ -66,8 +63,6 @@ hosts: oo_masters_to_config serial: 1 vars: - etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" - openshift_ca_host: "{{ groups.oo_first_master.0 }}" openshift_master_etcd_hosts: "{{ hostvars | lib_utils_oo_select_keys(groups['oo_etcd_to_config'] | union(groups['oo_new_etcd_to_config'] | default([]) )) | lib_utils_oo_collect('openshift.common.hostname') diff --git a/playbooks/openshift-etcd/private/server_certificates.yml b/playbooks/openshift-etcd/private/server_certificates.yml index ebcf4a5ff..0abfe1650 100644 --- a/playbooks/openshift-etcd/private/server_certificates.yml +++ b/playbooks/openshift-etcd/private/server_certificates.yml @@ -9,6 +9,5 @@ name: etcd tasks_from: server_certificates.yml vars: - etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" etcd_peers: "{{ groups.oo_etcd_to_config | default([], true) }}" etcd_certificates_etcd_hosts: "{{ groups.oo_etcd_to_config | default([], true) }}" diff --git a/playbooks/openshift-etcd/redeploy-ca.yml b/playbooks/openshift-etcd/redeploy-ca.yml index 769d694ba..93b68a257 100644 --- a/playbooks/openshift-etcd/redeploy-ca.yml +++ b/playbooks/openshift-etcd/redeploy-ca.yml @@ -1,4 +1,10 @@ --- - import_playbook: ../init/main.yml + vars: + skip_version: True + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" + l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" + l_sanity_check_hosts: "{{ groups['oo_etcd_to_config'] | union(groups['oo_masters_to_config']) }}" - import_playbook: private/redeploy-ca.yml diff --git a/playbooks/openshift-etcd/redeploy-certificates.yml b/playbooks/openshift-etcd/redeploy-certificates.yml index 8ea1994f7..202acb493 100644 --- a/playbooks/openshift-etcd/redeploy-certificates.yml +++ b/playbooks/openshift-etcd/redeploy-certificates.yml @@ -1,5 +1,11 @@ --- - import_playbook: ../init/main.yml + vars: + skip_version: True + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" + l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" + l_sanity_check_hosts: "{{ groups['oo_etcd_to_config'] | union(groups['oo_masters_to_config']) }}" - import_playbook: private/redeploy-certificates.yml diff --git a/playbooks/openshift-etcd/restart.yml b/playbooks/openshift-etcd/restart.yml index 041c1384d..05aaa9809 100644 --- a/playbooks/openshift-etcd/restart.yml +++ b/playbooks/openshift-etcd/restart.yml @@ -1,4 +1,10 @@ --- - import_playbook: ../init/main.yml + vars: + skip_version: True + l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_etcd_to_config'] | union(groups['oo_masters_to_config']) }}" - import_playbook: private/restart.yml diff --git a/playbooks/openshift-etcd/scaleup.yml b/playbooks/openshift-etcd/scaleup.yml index 656454fe3..1b2229baa 100644 --- a/playbooks/openshift-etcd/scaleup.yml +++ b/playbooks/openshift-etcd/scaleup.yml @@ -32,6 +32,7 @@ l_build_container_groups_hosts: "oo_new_etcd_to_config" l_etcd_scale_up_hosts: "oo_hosts_containerized_managed_true" l_scale_up_hosts: "oo_new_etcd_to_config" + l_base_packages_hosts: "oo_new_etcd_to_config" l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config:oo_new_etcd_to_config" l_sanity_check_hosts: "{{ groups['oo_new_etcd_to_config'] | union(groups['oo_masters_to_config']) | union(groups['oo_etcd_to_config']) }}" when: @@ -42,8 +43,11 @@ # prerequisites, we can just init facts as normal. - import_playbook: ../init/main.yml vars: - skip_verison: True + skip_version: True l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config:oo_new_etcd_to_config" + l_sanity_check_hosts: "{{ groups['oo_new_etcd_to_config'] | union(groups['oo_masters_to_config']) | union(groups['oo_etcd_to_config']) }}" + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" when: - inventory_hostname in groups['oo_masters'] - inventory_hostname in groups['oo_nodes_to_config'] diff --git a/playbooks/openshift-etcd/upgrade.yml b/playbooks/openshift-etcd/upgrade.yml index 77999d92c..1edcd6819 100644 --- a/playbooks/openshift-etcd/upgrade.yml +++ b/playbooks/openshift-etcd/upgrade.yml @@ -1,7 +1,9 @@ --- - import_playbook: ../init/main.yml vars: - skip_verison: True + skip_version: True + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config" l_sanity_check_hosts: "{{ groups['oo_etcd_to_config'] | union(groups['oo_masters_to_config']) }}" diff --git a/playbooks/openshift-glusterfs/config.yml b/playbooks/openshift-glusterfs/config.yml index c7814207c..ccdd8d069 100644 --- a/playbooks/openshift-glusterfs/config.yml +++ b/playbooks/openshift-glusterfs/config.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config:oo_glusterfs_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] | union(groups['oo_glusterfs_to_config']) }}" - import_playbook: private/config.yml diff --git a/playbooks/openshift-glusterfs/registry.yml b/playbooks/openshift-glusterfs/registry.yml index 5e3b18536..cc2846cb3 100644 --- a/playbooks/openshift-glusterfs/registry.yml +++ b/playbooks/openshift-glusterfs/registry.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config:oo_glusterfs_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] | union(groups['oo_glusterfs_to_config']) }}" - import_playbook: private/registry.yml diff --git a/playbooks/openshift-grafana/config.yml b/playbooks/openshift-grafana/config.yml index c7814207c..62d954d29 100644 --- a/playbooks/openshift-grafana/config.yml +++ b/playbooks/openshift-grafana/config.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" - import_playbook: private/config.yml diff --git a/playbooks/openshift-hosted/config.yml b/playbooks/openshift-hosted/config.yml index c7814207c..62d954d29 100644 --- a/playbooks/openshift-hosted/config.yml +++ b/playbooks/openshift-hosted/config.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" - import_playbook: private/config.yml diff --git a/playbooks/openshift-hosted/deploy_registry.yml b/playbooks/openshift-hosted/deploy_registry.yml index 2453329dd..e42af7149 100644 --- a/playbooks/openshift-hosted/deploy_registry.yml +++ b/playbooks/openshift-hosted/deploy_registry.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" - import_playbook: private/openshift_hosted_registry.yml diff --git a/playbooks/openshift-hosted/deploy_router.yml b/playbooks/openshift-hosted/deploy_router.yml index e832eeeea..a3564fe51 100644 --- a/playbooks/openshift-hosted/deploy_router.yml +++ b/playbooks/openshift-hosted/deploy_router.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" - import_playbook: private/openshift_hosted_router.yml diff --git a/playbooks/openshift-hosted/redeploy-registry-certificates.yml b/playbooks/openshift-hosted/redeploy-registry-certificates.yml index 518a1d624..1ab237558 100644 --- a/playbooks/openshift-hosted/redeploy-registry-certificates.yml +++ b/playbooks/openshift-hosted/redeploy-registry-certificates.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" - import_playbook: private/redeploy-registry-certificates.yml diff --git a/playbooks/openshift-hosted/redeploy-router-certificates.yml b/playbooks/openshift-hosted/redeploy-router-certificates.yml index a74dd8c79..4b44be405 100644 --- a/playbooks/openshift-hosted/redeploy-router-certificates.yml +++ b/playbooks/openshift-hosted/redeploy-router-certificates.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" - import_playbook: private/redeploy-router-certificates.yml diff --git a/playbooks/openshift-loadbalancer/config.yml b/playbooks/openshift-loadbalancer/config.yml index c7814207c..13903ee17 100644 --- a/playbooks/openshift-loadbalancer/config.yml +++ b/playbooks/openshift-loadbalancer/config.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config:oo_lb_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] | union(groups['oo_lb_to_config']) }}" - import_playbook: private/config.yml diff --git a/playbooks/openshift-logging/config.yml b/playbooks/openshift-logging/config.yml index 83d330284..419dcbc3f 100644 --- a/playbooks/openshift-logging/config.yml +++ b/playbooks/openshift-logging/config.yml @@ -5,5 +5,10 @@ # currently supported method. # - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" - import_playbook: private/config.yml diff --git a/playbooks/openshift-management/config.yml b/playbooks/openshift-management/config.yml index c7814207c..62d954d29 100644 --- a/playbooks/openshift-management/config.yml +++ b/playbooks/openshift-management/config.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" - import_playbook: private/config.yml diff --git a/playbooks/openshift-master/private/scaleup.yml b/playbooks/openshift-master/private/scaleup.yml index 20ebf70d3..5aaa0b156 100644 --- a/playbooks/openshift-master/private/scaleup.yml +++ b/playbooks/openshift-master/private/scaleup.yml @@ -45,7 +45,7 @@ - import_playbook: set_network_facts.yml -- import_playbook: ../../openshift-etcd/private/certificates.yml +- import_playbook: ../../openshift-etcd/private/master_etcd_certificates.yml - import_playbook: config.yml diff --git a/playbooks/openshift-master/scaleup.yml b/playbooks/openshift-master/scaleup.yml index 09e205afc..0ca5d1a61 100644 --- a/playbooks/openshift-master/scaleup.yml +++ b/playbooks/openshift-master/scaleup.yml @@ -32,6 +32,7 @@ - import_playbook: ../prerequisites.yml vars: l_scale_up_hosts: "oo_nodes_to_config:oo_masters_to_config" + l_base_packages_hosts: "oo_nodes_to_config:oo_masters_to_config" l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config:oo_nodes_to_config" l_sanity_check_hosts: "{{ groups['oo_nodes_to_config'] | union(groups['oo_masters_to_config']) }}" diff --git a/playbooks/openshift-metrics/config.yml b/playbooks/openshift-metrics/config.yml index c7814207c..1ca68fb9e 100644 --- a/playbooks/openshift-metrics/config.yml +++ b/playbooks/openshift-metrics/config.yml @@ -1,4 +1,10 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" + - import_playbook: private/config.yml diff --git a/playbooks/openshift-nfs/config.yml b/playbooks/openshift-nfs/config.yml index c7814207c..b22796228 100644 --- a/playbooks/openshift-nfs/config.yml +++ b/playbooks/openshift-nfs/config.yml @@ -1,4 +1,10 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config:oo_nfs_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] | union(groups['oo_nfs_to_config']) }}" + - import_playbook: private/config.yml diff --git a/playbooks/openshift-node/private/etcd_client_config.yml b/playbooks/openshift-node/private/etcd_client_config.yml index c3fa38a81..148bdc769 100644 --- a/playbooks/openshift-node/private/etcd_client_config.yml +++ b/playbooks/openshift-node/private/etcd_client_config.yml @@ -6,6 +6,5 @@ - role: openshift_etcd_facts - role: openshift_etcd_client_certificates etcd_cert_prefix: flannel.etcd- - etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" etcd_cert_subdir: "openshift-node-{{ openshift.common.hostname }}" etcd_cert_config_dir: "{{ openshift.common.config_base }}/node" diff --git a/playbooks/openshift-node/scaleup.yml b/playbooks/openshift-node/scaleup.yml index 9cc7263b7..bda251fa5 100644 --- a/playbooks/openshift-node/scaleup.yml +++ b/playbooks/openshift-node/scaleup.yml @@ -27,6 +27,7 @@ - import_playbook: ../prerequisites.yml vars: l_scale_up_hosts: "oo_nodes_to_config" + l_base_packages_hosts: "oo_nodes_to_config" l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config:oo_nodes_to_config" l_sanity_check_hosts: "{{ groups['oo_nodes_to_config'] | union(groups['oo_masters_to_config']) }}" diff --git a/playbooks/openshift-prometheus/config.yml b/playbooks/openshift-prometheus/config.yml index c7814207c..1ca68fb9e 100644 --- a/playbooks/openshift-prometheus/config.yml +++ b/playbooks/openshift-prometheus/config.yml @@ -1,4 +1,10 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" + - import_playbook: private/config.yml diff --git a/playbooks/openshift-prometheus/private/uninstall.yml b/playbooks/openshift-prometheus/private/uninstall.yml index 2df39c2a8..b01f7f988 100644 --- a/playbooks/openshift-prometheus/private/uninstall.yml +++ b/playbooks/openshift-prometheus/private/uninstall.yml @@ -5,4 +5,4 @@ - name: Run the Prometheus Uninstall Role Tasks include_role: name: openshift_prometheus - tasks_from: uninstall + tasks_from: uninstall_prometheus diff --git a/playbooks/openshift-provisioners/config.yml b/playbooks/openshift-provisioners/config.yml index c7814207c..1ca68fb9e 100644 --- a/playbooks/openshift-provisioners/config.yml +++ b/playbooks/openshift-provisioners/config.yml @@ -1,4 +1,10 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" + - import_playbook: private/config.yml diff --git a/playbooks/openshift-service-catalog/config.yml b/playbooks/openshift-service-catalog/config.yml index c7814207c..1ca68fb9e 100644 --- a/playbooks/openshift-service-catalog/config.yml +++ b/playbooks/openshift-service-catalog/config.yml @@ -1,4 +1,10 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" + - import_playbook: private/config.yml diff --git a/playbooks/openshift-web-console/config.yml b/playbooks/openshift-web-console/config.yml index c7814207c..62d954d29 100644 --- a/playbooks/openshift-web-console/config.yml +++ b/playbooks/openshift-web-console/config.yml @@ -1,4 +1,9 @@ --- - import_playbook: ../init/main.yml + vars: + l_init_fact_hosts: "oo_masters_to_config" + l_openshift_version_set_hosts: "oo_masters_to_config:!oo_first_master" + l_openshift_version_check_hosts: "all:!all" + l_sanity_check_hosts: "{{ groups['oo_masters_to_config'] }}" - import_playbook: private/config.yml diff --git a/playbooks/openstack/advanced-configuration.md b/playbooks/openstack/advanced-configuration.md index e8f4cfc32..8df3c40b0 100644 --- a/playbooks/openstack/advanced-configuration.md +++ b/playbooks/openstack/advanced-configuration.md @@ -273,6 +273,38 @@ openshift_openstack_cluster_node_labels: mylabel: myvalue ``` +`openshift_openstack_provision_user_commands` allows users to execute +shell commands via cloud-init for all of the created Nova servers in +the Heat stack, before they are available for SSH connections. +Note that you should use custom ansible playbooks whenever +possible, like this `provision_install_custom.yml` example playbook: +``` +- import_playbook: openshift-ansible/playbooks/openstack/openshift-cluster/provision.yml + +- name: My custom actions + hosts: cluster_hosts + tasks: + - do whatever you want here + +- import_playbook: openshift-ansible/playbooks/openstack/openshift-cluster/install.yml +``` +The playbook leverages a two existing provider interfaces: `provision.yml` and +`install.yml`. For some cases, like SSH keys configuration and coordinated reboots of +servers, the cloud-init runcmd directive may be a better choice though. User specified +shell commands for cloud-init need to be either strings or lists, for example: +``` +- openshift_openstack_provision_user_commands: + - set -vx + - systemctl stop sshd # fences off ansible playbooks as we want to reboot later + - ['echo', 'foo', '>', '/tmp/foo'] + - [ ls, /tmp/foo, '||', true ] + - reboot # unfences ansible playbooks to continue after reboot +``` + +**Note** To protect Nova servers from recreating when the user-data changes via +`openshift_openstack_provision_user_commands`, the +`user_data_update_policy` parameter configured to `IGNORE` for Heat resources. + The `openshift_openstack_nodes_to_remove` allows you to specify the numerical indexes of App nodes that should be removed; for example, ['0', '2'], diff --git a/playbooks/openstack/openshift-cluster/install.yml b/playbooks/openstack/openshift-cluster/install.yml index 2ab7d14a0..cb6bf4d11 100644 --- a/playbooks/openstack/openshift-cluster/install.yml +++ b/playbooks/openstack/openshift-cluster/install.yml @@ -8,8 +8,7 @@ # values here. We do it in the OSEv3 group vars. Do we need to add # some logic here? -- name: run the cluster deploy - import_playbook: ../../prerequisites.yml +- import_playbook: ../../prerequisites.yml - name: run the cluster deploy import_playbook: ../../deploy_cluster.yml diff --git a/playbooks/openstack/openshift-cluster/provision.yml b/playbooks/openstack/openshift-cluster/provision.yml index 73c1926a0..44e3d00c0 100644 --- a/playbooks/openstack/openshift-cluster/provision.yml +++ b/playbooks/openstack/openshift-cluster/provision.yml @@ -26,9 +26,6 @@ - name: Gather facts for the new nodes setup: -- import_playbook: ../../init/basic_facts.yml -- import_playbook: ../../init/cluster_facts.yml - # TODO(shadower): consider splitting this up so people can stop here # and configure their DNS if they have to. @@ -43,7 +40,10 @@ - openshift_openstack_external_nsupdate_keys is defined - openshift_openstack_external_nsupdate_keys.private is defined or openshift_openstack_external_nsupdate_keys.public is defined -- name: Prepare the Nodes in the cluster for installation + +- import_playbook: ../../init/basic_facts.yml + +- name: Optionally subscribe the RHEL nodes hosts: oo_all_hosts become: yes gather_facts: yes @@ -63,6 +63,12 @@ - ansible_distribution == "RedHat" - rh_subscribed is defined + +- name: Prepare the Nodes in the cluster for installation + hosts: oo_all_hosts + become: yes + gather_facts: yes + tasks: - name: Install dependencies import_role: name: openshift_openstack diff --git a/playbooks/openstack/sample-inventory/group_vars/all.yml b/playbooks/openstack/sample-inventory/group_vars/all.yml index d63229120..101ac52ad 100644 --- a/playbooks/openstack/sample-inventory/group_vars/all.yml +++ b/playbooks/openstack/sample-inventory/group_vars/all.yml @@ -85,7 +85,12 @@ openshift_openstack_docker_volume_size: "15" ## WARNING: This will delete any data on the volume! #openshift_openstack_prepare_and_format_registry_volume: False -openshift_openstack_subnet_prefix: "192.168.99" +# The Classless Inter-Domain Routing (CIDR) for the OpenStack VM subnet. +openshift_openstack_subnet_cidr: "192.168.99.0/24" +# The starting IP address for the OpenStack subnet allocation pool. +openshift_openstack_pool_start: "192.168.99.3" +# The ending IP address for the OpenStack subnet allocation pool. +openshift_openstack_pool_end: "192.168.99.254" ## Red Hat subscription: #rhsub_user: '<username>' diff --git a/playbooks/prerequisites.yml b/playbooks/prerequisites.yml index 0b76ca862..544adbd4d 100644 --- a/playbooks/prerequisites.yml +++ b/playbooks/prerequisites.yml @@ -3,8 +3,10 @@ - import_playbook: init/main.yml vars: - skip_verison: True + skip_version: True l_install_base_packages: True + l_openshift_version_set_hosts: "all:!all" + l_openshift_version_check_hosts: "all:!all" - import_playbook: init/validate_hostnames.yml when: not (skip_validate_hostnames | default(False)) diff --git a/roles/ansible_service_broker/vars/openshift-enterprise.yml b/roles/ansible_service_broker/vars/openshift-enterprise.yml index c203f596e..15a7e5477 100644 --- a/roles/ansible_service_broker/vars/openshift-enterprise.yml +++ b/roles/ansible_service_broker/vars/openshift-enterprise.yml @@ -1,7 +1,7 @@ --- __ansible_service_broker_image_prefix: registry.access.redhat.com/openshift3/ose- -__ansible_service_broker_image_tag: v3.7 +__ansible_service_broker_image_tag: "{{ openshift_image_tag }}" __ansible_service_broker_etcd_image_prefix: registry.access.redhat.com/rhel7/ __ansible_service_broker_etcd_image_tag: latest @@ -14,6 +14,6 @@ __ansible_service_broker_registry_url: "https://registry.access.redhat.com" __ansible_service_broker_registry_user: null __ansible_service_broker_registry_password: null __ansible_service_broker_registry_organization: null -__ansible_service_broker_registry_tag: v3.7 +__ansible_service_broker_registry_tag: "{{ openshift_image_tag }}" __ansible_service_broker_registry_whitelist: - '.*-apb$' diff --git a/roles/container_runtime/defaults/main.yml b/roles/container_runtime/defaults/main.yml index 7397e2bec..77cf86b0a 100644 --- a/roles/container_runtime/defaults/main.yml +++ b/roles/container_runtime/defaults/main.yml @@ -87,6 +87,8 @@ openshift_use_crio_only: False l_openshift_image_tag_default: "{{ openshift_release | default('latest') }}" l_openshift_image_tag: "{{ openshift_image_tag | default(l_openshift_image_tag_default) | string}}" +l_required_docker_version: '1.12' + # --------------------- # # systemcontainers_crio # # --------------------- # @@ -94,6 +96,17 @@ l_insecure_crio_registries: "{{ '\"{}\"'.format('\", \"'.join(l2_docker_insecure l_crio_registries: "{{ l2_docker_additional_registries + ['docker.io'] }}" l_additional_crio_registries: "{{ '\"{}\"'.format('\", \"'.join(l_crio_registries)) }}" +# this is a list of dictionaries of mounts +# container_runtime_crio_additional_mounts: +# - destination: /test +# source: /var/test +# options: +# - rw +# - mode=755 +# type: bind +container_runtime_crio_additional_mounts: [] + +l_crio_additional_mounts: "{{ ',' + (container_runtime_crio_additional_mounts | lib_utils_oo_l_of_d_to_csv) if container_runtime_crio_additional_mounts != [] else '' }}" openshift_crio_image_tag_default: "latest" diff --git a/roles/container_runtime/tasks/docker_upgrade_check.yml b/roles/container_runtime/tasks/docker_upgrade_check.yml index 8dd916e79..4a341b744 100644 --- a/roles/container_runtime/tasks/docker_upgrade_check.yml +++ b/roles/container_runtime/tasks/docker_upgrade_check.yml @@ -36,14 +36,16 @@ failed_when: false changed_when: false -- fail: - msg: This playbook requires access to Docker 1.12 or later +- name: Required docker version not available (non-atomic) + fail: + msg: "This playbook requires access to Docker {{ l_required_docker_version }} or later" # Disable the 1.12 requirement if the user set a specific Docker version when: - not openshift_is_atomic | bool - docker_version is not defined - - docker_upgrade is not defined or docker_upgrade | bool == True - - (pkg_check.rc == 0 and (avail_docker_version.stdout == "" or avail_docker_version.stdout is version_compare('1.12','<'))) + - docker_upgrade | bool + - pkg_check.rc == 0 + - avail_docker_version.stdout == "" or avail_docker_version.stdout is version_compare(l_required_docker_version,'<') # Default l_docker_upgrade to False, we'll set to True if an upgrade is required: - set_fact: @@ -54,7 +56,8 @@ docker_version: "{{ avail_docker_version.stdout }}" when: - not openshift_is_atomic | bool - - pkg_check.rc == 0 and docker_version is not defined + - pkg_check.rc == 0 + - docker_version is not defined - name: Flag for Docker upgrade if necessary set_fact: @@ -74,8 +77,9 @@ l_docker_version: "{{ g_atomic_docker_version_result.stdout | from_yaml }}" when: openshift_is_atomic | bool -- fail: - msg: This playbook requires access to Docker 1.12 or later +- name: Required docker version is unavailable (atomic) + fail: + msg: "This playbook requires access to Docker {{ l_required_docker_version }} or later" when: - openshift_is_atomic | bool - - l_docker_version.avail_version | default(l_docker_version.curr_version, true) is version_compare('1.12','<') + - l_docker_version.avail_version | default(l_docker_version.curr_version, true) is version_compare(l_required_docker_version,'<') diff --git a/roles/container_runtime/tasks/systemcontainer_crio.yml b/roles/container_runtime/tasks/systemcontainer_crio.yml index d588f2618..f053bdea5 100644 --- a/roles/container_runtime/tasks/systemcontainer_crio.yml +++ b/roles/container_runtime/tasks/systemcontainer_crio.yml @@ -53,6 +53,8 @@ name: "cri-o" image: "{{ l_crio_image }}" state: latest + values: + - "ADDTL_MOUNTS={{ l_crio_additional_mounts }}" - name: Remove CRI-O default configuration files file: diff --git a/roles/etcd/defaults/main.yaml b/roles/etcd/defaults/main.yaml index 87e249642..6f1dc5847 100644 --- a/roles/etcd/defaults/main.yaml +++ b/roles/etcd/defaults/main.yaml @@ -78,7 +78,7 @@ etcd_listen_client_urls: "{{ etcd_url_scheme }}://{{ etcd_ip }}:{{ etcd_client_p # required role variable #etcd_peer: 127.0.0.1 -etcdctlv2: "etcdctl --cert-file {{ etcd_peer_cert_file }} --key-file {{ etcd_peer_key_file }} --ca-file {{ etcd_peer_ca_file }} -C https://{{ etcd_peer }}:{{ etcd_client_port }}" +etcdctlv2: "{{ r_etcd_common_etcdctl_command }} --cert-file {{ etcd_peer_cert_file }} --key-file {{ etcd_peer_key_file }} --ca-file {{ etcd_peer_ca_file }} -C https://{{ etcd_peer }}:{{ etcd_client_port }}" etcd_service: "{{ 'etcd_container' if r_etcd_common_etcd_runtime == 'docker' else 'etcd' }}" # Location of the service file is fixed and not meant to be changed diff --git a/roles/kuryr/tasks/master.yaml b/roles/kuryr/tasks/master.yaml index 1cc6d2375..4f9dd82de 100644 --- a/roles/kuryr/tasks/master.yaml +++ b/roles/kuryr/tasks/master.yaml @@ -1,6 +1,7 @@ --- - name: Perform OpenShift ServiceAccount config include_tasks: serviceaccount.yaml + run_once: true - name: Create kuryr manifests tempdir command: mktemp -d @@ -32,6 +33,7 @@ namespace: "{{ kuryr_namespace }}" files: - "{{ manifests_tmpdir.stdout }}/configmap.yaml" + run_once: true - name: Apply Controller Deployment manifest oc_obj: @@ -41,6 +43,7 @@ namespace: "{{ kuryr_namespace }}" files: - "{{ manifests_tmpdir.stdout }}/controller-deployment.yaml" + run_once: true - name: Apply kuryr-cni DaemonSet manifest oc_obj: @@ -50,3 +53,4 @@ namespace: "{{ kuryr_namespace }}" files: - "{{ manifests_tmpdir.stdout }}/cni-daemonset.yaml" + run_once: true diff --git a/roles/lib_utils/action_plugins/generate_pv_pvcs_list.py b/roles/lib_utils/action_plugins/generate_pv_pvcs_list.py index eb13a58ba..c60742dd3 100644 --- a/roles/lib_utils/action_plugins/generate_pv_pvcs_list.py +++ b/roles/lib_utils/action_plugins/generate_pv_pvcs_list.py @@ -118,10 +118,16 @@ class ActionModule(ActionBase): create_pvc = self._templar.template(create_pvc) if kind != 'object' and create_pv and create_pvc: volume, size, _, access_modes = self.build_common(varname=varname) + storageclass = self.task_vars.get(str(varname) + '_storageclass') + if storageclass: + storageclass = self._templar.template(storageclass) + elif storageclass is None and kind != 'dynamic': + storageclass = '' return dict( name="{0}-claim".format(volume), capacity=size, - access_modes=access_modes) + access_modes=access_modes, + storageclass=storageclass) return None def run(self, tmp=None, task_vars=None): diff --git a/roles/lib_utils/action_plugins/sanity_checks.py b/roles/lib_utils/action_plugins/sanity_checks.py index 09ce55e8f..ce54debc2 100644 --- a/roles/lib_utils/action_plugins/sanity_checks.py +++ b/roles/lib_utils/action_plugins/sanity_checks.py @@ -54,6 +54,12 @@ class ActionModule(ActionBase): def template_var(self, hostvars, host, varname): """Retrieve a variable from hostvars and template it. If undefined, return None type.""" + # We will set the current host and variable checked for easy debugging + # if there are any unhandled exceptions. + # pylint: disable=W0201 + self.last_checked_var = varname + # pylint: disable=W0201 + self.last_checked_host = host res = hostvars[host].get(varname) if res is None: return None @@ -156,6 +162,11 @@ class ActionModule(ActionBase): # pylint: disable=W0201 self.task_vars = task_vars or {} + # pylint: disable=W0201 + self.last_checked_host = "none" + # pylint: disable=W0201 + self.last_checked_var = "none" + # self._task.args holds task parameters. # check_hosts is a parameter to this plugin, and should provide # a list of hosts. @@ -172,7 +183,13 @@ class ActionModule(ActionBase): # We loop through each host in the provided list check_hosts for host in check_hosts: - self.run_checks(hostvars, host) + try: + self.run_checks(hostvars, host) + except Exception as uncaught_e: + msg = "last_checked_host: {}, last_checked_var: {};" + msg = msg.format(self.last_checked_host, self.last_checked_var) + msg += str(uncaught_e) + raise errors.AnsibleModuleError(msg) result["changed"] = False result["failed"] = False diff --git a/roles/lib_utils/filter_plugins/oo_filters.py b/roles/lib_utils/filter_plugins/oo_filters.py index 574743ff1..ed6bb4c28 100644 --- a/roles/lib_utils/filter_plugins/oo_filters.py +++ b/roles/lib_utils/filter_plugins/oo_filters.py @@ -126,7 +126,7 @@ def lib_utils_oo_collect(data_list, attribute=None, filters=None): raise errors.AnsibleFilterError( "lib_utils_oo_collect expects filter to be a dict") retval.extend([get_attr(d, attribute) for d in data if ( - all([d.get(key, None) == filters[key] for key in filters]))]) + all([get_attr(d, key) == filters[key] for key in filters]))]) else: retval.extend([get_attr(d, attribute) for d in data]) @@ -660,6 +660,50 @@ def map_from_pairs(source, delim="="): return dict(item.split(delim) for item in source.split(",")) +def lib_utils_oo_get_node_labels(source, hostvars=None): + ''' Return a list of labels assigned to schedulable nodes ''' + labels = list() + + # Filter out the unschedulable nodes + for host in source: + if host not in hostvars: + return + node_vars = hostvars[host] + + # All nodes are considered schedulable, + # unless explicitly marked so + schedulable = node_vars.get('openshift_schedulable') + if schedulable is None: + schedulable = True + try: + if not strtobool(str(schedulable)): + # explicitly marked as unschedulable + continue + except ValueError: + # Incorrect value in openshift_schedulable, skip node + continue + + # Get a list of labels from the node + node_labels = node_vars.get('openshift_node_labels') + if node_labels: + labels.append(node_labels) + + return labels + + +def lib_utils_oo_has_no_matching_selector(source, selector=None): + ''' Return True when selector cannot be placed + on nodes with labels from source ''' + # Empty selector means any node + if not selector: + return False + for item in source: + if selector.items() <= item.items(): + # Matching selector found + return False + return True + + class FilterModule(object): """ Custom ansible filter mapping """ @@ -691,5 +735,7 @@ class FilterModule(object): "lib_utils_oo_selector_to_string_list": lib_utils_oo_selector_to_string_list, "lib_utils_oo_filter_sa_secrets": lib_utils_oo_filter_sa_secrets, "lib_utils_oo_l_of_d_to_csv": lib_utils_oo_l_of_d_to_csv, - "map_from_pairs": map_from_pairs + "lib_utils_oo_has_no_matching_selector": lib_utils_oo_has_no_matching_selector, + "lib_utils_oo_get_node_labels": lib_utils_oo_get_node_labels, + "map_from_pairs": map_from_pairs, } diff --git a/roles/openshift_aws/tasks/elb.yml b/roles/openshift_aws/tasks/elb.yml index d8257cf31..3eb7b73b3 100644 --- a/roles/openshift_aws/tasks/elb.yml +++ b/roles/openshift_aws/tasks/elb.yml @@ -2,26 +2,8 @@ - name: "dump the elb listeners for {{ l_elb_dict_item.key }}" debug: msg: "{{ l_elb_dict_item.value }}" + verbosity: 1 -- name: "Create ELB {{ l_elb_dict_item.key }}" - ec2_elb_lb: - name: "{{ item.value.name }}" - state: present - cross_az_load_balancing: "{{ item.value.cross_az_load_balancing }}" - security_group_names: "{{ l_elb_security_groups[l_elb_dict_item.key] }}" - idle_timeout: "{{ item.value.idle_timout }}" - region: "{{ openshift_aws_region }}" - subnets: - - "{{ subnetout.subnets[0].id }}" - health_check: "{{ item.value.health_check }}" - listeners: "{{ item.value.listeners }}" - scheme: "{{ (item.key == 'internal') | ternary('internal','internet-facing') }}" - tags: "{{ item.value.tags }}" - wait: True - register: new_elb +- name: Create ELB(s) + include_tasks: elb_single.yml with_dict: "{{ l_elb_dict_item.value }}" - -- debug: - msg: "{{ item }}" - with_items: - - "{{ new_elb }}" diff --git a/roles/openshift_aws/tasks/elb_single.yml b/roles/openshift_aws/tasks/elb_single.yml new file mode 100644 index 000000000..864757549 --- /dev/null +++ b/roles/openshift_aws/tasks/elb_single.yml @@ -0,0 +1,34 @@ +--- +- name: "dump the elb listeners for {{ item.key }}" + debug: + msg: "{{ item.value }}" + verbosity: 1 + +- name: "Create ELB {{ item.value.name }}" + ec2_elb_lb: + name: "{{ item.value.name }}" + state: present + cross_az_load_balancing: "{{ item.value.cross_az_load_balancing }}" + security_group_names: "{{ l_elb_security_groups[l_elb_dict_item.key] }}" + idle_timeout: "{{ item.value.idle_timout }}" + region: "{{ openshift_aws_region }}" + subnets: + - "{{ subnetout.subnets[0].id }}" + health_check: "{{ item.value.health_check }}" + listeners: "{{ item.value.listeners }}" + scheme: "{{ (item.key == 'internal') | ternary('internal','internet-facing') }}" + tags: "{{ item.value.tags }}" + wait: True + register: new_elb + retries: 20 + delay: 5 + until: new_elb | succeeded + ignore_errors: yes + +- fail: + msg: "couldn't create ELB {{ item.value.name }}" + when: not new_elb | succeeded + +- debug: + msg: "{{ new_elb }}" + verbosity: 1 diff --git a/roles/openshift_aws/tasks/iam_cert.yml b/roles/openshift_aws/tasks/iam_cert.yml index f74a62b8b..42d7d951c 100644 --- a/roles/openshift_aws/tasks/iam_cert.yml +++ b/roles/openshift_aws/tasks/iam_cert.yml @@ -18,7 +18,9 @@ - openshift_aws_iam_cert_key_path != '' - openshift_aws_elb_cert_arn == '' -- debug: msg="{{ elb_cert_chain }}" +- debug: + msg: "{{ elb_cert_chain }}" + verbosity: 1 - name: set_fact openshift_aws_elb_cert_arn set_fact: @@ -28,8 +30,3 @@ - openshift_aws_iam_cert_path != '' - openshift_aws_iam_cert_key_path != '' - openshift_aws_elb_cert_arn == '' - -- name: wait for cert to propagate - pause: - seconds: 5 - when: elb_cert_chain.changed diff --git a/roles/openshift_aws/tasks/seal_ami.yml b/roles/openshift_aws/tasks/seal_ami.yml index 74877d5c7..c1cb37a3b 100644 --- a/roles/openshift_aws/tasks/seal_ami.yml +++ b/roles/openshift_aws/tasks/seal_ami.yml @@ -10,6 +10,19 @@ delay: 3 until: instancesout.instances|length > 0 +- name: fetch the ami used to create the instance + ec2_ami_find: + region: "{{ openshift_aws_region }}" + ami_id: "{{ instancesout.instances[0]['image_id'] }}" + register: original_ami_out + retries: 20 + delay: 3 + until: original_ami_out.results|length > 0 + +- name: combine the tags of the original ami with newly created ami + set_fact: + l_openshift_aws_ami_tags: "{{ original_ami_out.results[0]['tags'] | combine(openshift_aws_ami_tags) }}" + - name: bundle ami ec2_ami: instance_id: "{{ instancesout.instances.0.instance_id }}" @@ -17,7 +30,7 @@ state: present description: "This was provisioned {{ ansible_date_time.iso8601 }}" name: "{{ openshift_aws_ami_name }}" - tags: "{{ openshift_aws_ami_tags }}" + tags: "{{ l_openshift_aws_ami_tags }}" wait: yes register: amioutput diff --git a/roles/openshift_aws/tasks/uninstall_elb.yml b/roles/openshift_aws/tasks/uninstall_elb.yml new file mode 100644 index 000000000..147e9a905 --- /dev/null +++ b/roles/openshift_aws/tasks/uninstall_elb.yml @@ -0,0 +1,11 @@ +--- +- name: delete elbs + ec2_elb_lb: + name: "{{ item }}" + region: "{{ openshift_aws_region }}" + state: absent + with_items: "{{ openshift_aws_elb_dict | json_query('*.*.name') | sum(start = []) }}" + +- when: openshift_aws_create_iam_cert | bool + name: delete the iam_cert for elb certificate + include_tasks: uninstall_iam_cert.yml diff --git a/roles/openshift_aws/tasks/uninstall_iam_cert.yml b/roles/openshift_aws/tasks/uninstall_iam_cert.yml new file mode 100644 index 000000000..7b47673ee --- /dev/null +++ b/roles/openshift_aws/tasks/uninstall_iam_cert.yml @@ -0,0 +1,25 @@ +--- +- when: + - openshift_aws_create_iam_cert | bool + - openshift_aws_iam_cert_path != '' + - openshift_aws_iam_cert_key_path != '' + - openshift_aws_elb_cert_arn == '' + block: + - name: delete AWS IAM certificates + iam_cert23: + state: absent + name: "{{ openshift_aws_iam_cert_name }}" + register: elb_cert_chain + retries: 20 + delay: 10 + until: elb_cert_chain | succeeded + ignore_errors: yes + + - debug: + var: elb_cert_chain + verbosity: 1 + + - name: check for iam cert error + fail: + msg: "Couldn't delete IAM cert {{ openshift_aws_iam_cert_name }}" + when: not elb_cert_chain | succeeded diff --git a/roles/openshift_aws/tasks/vpc_and_subnet_id.yml b/roles/openshift_aws/tasks/vpc_and_subnet_id.yml index 1b754f863..c2c345faf 100644 --- a/roles/openshift_aws/tasks/vpc_and_subnet_id.yml +++ b/roles/openshift_aws/tasks/vpc_and_subnet_id.yml @@ -7,7 +7,9 @@ register: vpcout - name: debug vcpout - debug: var=vpcout + debug: + var: vpcout + verbosity: 1 - name: fetch the default subnet id ec2_vpc_subnet_facts: @@ -18,4 +20,6 @@ register: subnetout - name: debug subnetout - debug: var=subnetout + debug: + var: subnetout + verbosity: 1 diff --git a/roles/openshift_aws/templates/user_data.j2 b/roles/openshift_aws/templates/user_data.j2 index bda1334cd..46e4e1cc5 100644 --- a/roles/openshift_aws/templates/user_data.j2 +++ b/roles/openshift_aws/templates/user_data.j2 @@ -20,6 +20,9 @@ runcmd: - [ ansible-playbook, /root/openshift_bootstrap/bootstrap.yml] {% endif %} {% if openshift_aws_node_group.group != 'master' %} +{# Restarting systemd-hostnamed ensures that instances will have FQDN +hostnames following network restart. #} +- [ systemctl, restart, systemd-hostnamed] - [ systemctl, restart, NetworkManager] - [ systemctl, enable, {% if openshift_deployment_type == 'openshift-enterprise' %}atomic-openshift{% else %}origin{% endif %}-node] - [ systemctl, start, {% if openshift_deployment_type == 'openshift-enterprise' %}atomic-openshift{% else %}origin{% endif %}-node] diff --git a/roles/openshift_cloud_provider/defaults/main.yml b/roles/openshift_cloud_provider/defaults/main.yml index 37cbf5603..cda6acd90 100644 --- a/roles/openshift_cloud_provider/defaults/main.yml +++ b/roles/openshift_cloud_provider/defaults/main.yml @@ -2,3 +2,4 @@ openshift_gcp_project: '' openshift_gcp_prefix: '' openshift_gcp_network_name: "{{ openshift_gcp_prefix }}network" +openshift_gcp_multizone: False diff --git a/roles/openshift_cloud_provider/tasks/gce.yml b/roles/openshift_cloud_provider/tasks/gce.yml index 9e1c31b1d..8b9c1b42a 100644 --- a/roles/openshift_cloud_provider/tasks/gce.yml +++ b/roles/openshift_cloud_provider/tasks/gce.yml @@ -1,11 +1,13 @@ --- - name: check variables are passed fail: - msg: "Ensure correct variables are defined for gcp. {{ item }}" - when: item == '' + msg: "Ensure correct variables are defined for gcp. {{ item.name }}" + when: item.value == '' with_items: - - "{{ openshift_gcp_project }}" - - "{{ openshift_gcp_prefix }}" + - name: openshift_gcp_project + value: "{{ openshift_gcp_project }}" + - name: openshift_gcp_prefix + value: "{{ openshift_gcp_prefix }}" # Work around ini_file create option in 2.2 which defaults to no - name: Create cloud config file @@ -28,4 +30,4 @@ - { key: 'network-name', value: '{{ openshift_gcp_network_name }}' } - { key: 'node-tags', value: '{{ openshift_gcp_prefix }}ocp' } - { key: 'node-instance-prefix', value: '{{ openshift_gcp_prefix }}' } - - { key: 'multizone', value: 'false' } + - { key: 'multizone', value: '{{ openshift_gcp_multizone | string }}' } diff --git a/roles/openshift_etcd_facts/defaults/main.yml b/roles/openshift_etcd_facts/defaults/main.yml new file mode 100644 index 000000000..d13e7c912 --- /dev/null +++ b/roles/openshift_etcd_facts/defaults/main.yml @@ -0,0 +1,2 @@ +--- +etcd_ca_host_group: "oo_etcd_to_config" diff --git a/roles/openshift_etcd_facts/tasks/main.yml b/roles/openshift_etcd_facts/tasks/main.yml index ed97d539c..86546f4e3 100644 --- a/roles/openshift_etcd_facts/tasks/main.yml +++ b/roles/openshift_etcd_facts/tasks/main.yml @@ -1 +1,2 @@ --- +- import_tasks: set_etcd_ca_host.yml diff --git a/roles/openshift_etcd_facts/tasks/set_etcd_ca_host.yml b/roles/openshift_etcd_facts/tasks/set_etcd_ca_host.yml new file mode 100644 index 000000000..624ad714e --- /dev/null +++ b/roles/openshift_etcd_facts/tasks/set_etcd_ca_host.yml @@ -0,0 +1,44 @@ +--- +- name: Check for CA indicator files + stat: + path: "{{ item.0 }}" + delegate_to: "{{ item.1 }}" + with_nested: + - - /etc/etcd/ca + - /etc/etcd/generated_certs + - "{{ groups[etcd_ca_host_group] }}" + register: __etcd_ca_host_stat + run_once: true + +# Collect ansible_host (inventory hostname) of hosts with /etc/etcd/ca +# and /etc/etcd/generated_certs directories. +- set_fact: + __etcd_ca_dir_hosts: "{{ __etcd_ca_host_stat.results + | lib_utils_oo_collect('_ansible_delegated_vars.inventory_hostname', + filters={'stat.path':'/etc/etcd/ca','stat.exists':True}) }}" + __etcd_generated_certs_dir_hosts: "{{ __etcd_ca_host_stat.results + | lib_utils_oo_collect('_ansible_delegated_vars.inventory_hostname', + filters={'stat.path':'/etc/etcd/generated_certs','stat.exists':True}) }}" + run_once: true + +# __etcd_ca_hosts is the intersection of hosts which have /etc/etcd/ca +# and /etc/etcd/generated_certs directories. +- set_fact: + __etcd_ca_hosts: "{{ __etcd_ca_dir_hosts | intersect(__etcd_generated_certs_dir_hosts) }}" + run_once: true + +# __etcd_ca_hosts should only contain one host. If more than one host +# is able to be an etcd CA host then we will use the first. +- set_fact: + etcd_ca_host: "{{ __etcd_ca_hosts[0] }}" + when: + - __etcd_ca_hosts | length > 0 + - etcd_ca_host is not defined + +# No etcd_ca_host was found in __etcd_ca_hosts. This is probably a +# fresh installation so we will default to the first member of the +# etcd host group. +- set_fact: + etcd_ca_host: "{{ groups[etcd_ca_host_group].0 }}" + when: + - etcd_ca_host is not defined diff --git a/roles/openshift_examples/examples-sync.sh b/roles/openshift_examples/examples-sync.sh index 648bf7293..aaf52dd79 100755 --- a/roles/openshift_examples/examples-sync.sh +++ b/roles/openshift_examples/examples-sync.sh @@ -5,7 +5,7 @@ # # This script should be run from openshift-ansible/roles/openshift_examples -XPAAS_VERSION=ose-v1.4.7 +XPAAS_VERSION=ose-v1.4.8-1 ORIGIN_VERSION=${1:-v3.9} RHAMP_TAG=2.0.0.GA EXAMPLES_BASE=$(pwd)/files/examples/${ORIGIN_VERSION} diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-streams/jboss-image-streams.json b/roles/openshift_examples/files/examples/v3.7/xpaas-streams/jboss-image-streams.json index ed2dbf572..7281864f8 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-streams/jboss-image-streams.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-streams/jboss-image-streams.json @@ -17,11 +17,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Web Server 3.0 Apache Tomcat 7", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -87,11 +87,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Web Server 3.0 Apache Tomcat 8", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -157,11 +157,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Web Server 3.1 Apache Tomcat 7", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -210,11 +210,11 @@ "annotations": { "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -263,11 +263,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss EAP 6.4", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -378,6 +378,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-eap-6/eap64-openshift:1.6" } + }, + { + "name": "1.7", + "annotations": { + "description": "JBoss EAP 6.4 S2I images.", + "iconClass": "icon-eap", + "tags": "builder,eap,javaee,java,jboss,hidden", + "supports": "eap:6.4,javaee:6,java:8", + "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git", + "sampleContextDir": "kitchensink", + "sampleRef": "6.4.x", + "version": "1.7", + "openshift.io/display-name": "Red Hat JBoss EAP 6.4" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-eap-6/eap64-openshift:1.7" + } } ] } @@ -390,11 +408,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss EAP 7.0", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -469,6 +487,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-eap-7/eap70-openshift:1.6" } + }, + { + "name": "1.7", + "annotations": { + "description": "JBoss EAP 7.0 S2I images.", + "iconClass": "icon-eap", + "tags": "builder,eap,javaee,java,jboss,hidden", + "supports": "eap:7.0,javaee:7,java:8", + "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git", + "sampleContextDir": "kitchensink", + "sampleRef": "7.0.0.GA", + "version": "1.7", + "openshift.io/display-name": "Red Hat JBoss EAP 7.0" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-eap-7/eap70-openshift:1.7" + } } ] } @@ -481,18 +517,18 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss EAP 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ { "name": "TP", "annotations": { - "description": "JBoss EAP 7.1 Tech Preview.", + "description": "The latest available build of the JBoss EAP 7.1 S2I image.", "iconClass": "icon-eap", "tags": "builder,eap,javaee,java,jboss,hidden", "supports": "eap:7.1,javaee:7,java:8,xpass:1.0", @@ -504,7 +540,7 @@ }, "from": { "kind": "ImageStreamTag", - "name": "1.0-TP" + "name": "1.1" } }, { @@ -524,6 +560,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-eap-7-tech-preview/eap71-openshift:1.0" } + }, + { + "name": "1.1", + "annotations": { + "description": "JBoss EAP 7.1 S2I image.", + "iconClass": "icon-eap", + "tags": "builder,eap,javaee,java,jboss,hidden", + "supports": "eap:7.1,javaee:7,java:8", + "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git", + "sampleContextDir": "kitchensink", + "sampleRef": "7.0.0.GA", + "version": "1.0", + "openshift.io/display-name": "Red Hat JBoss EAP 7.1" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-eap-7/eap71-openshift:1.1" + } } ] } @@ -535,11 +589,11 @@ "name": "jboss-decisionserver62-openshift", "annotations": { "openshift.io/display-name": "Red Hat JBoss BRMS 6.2 decision server", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -572,11 +626,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BRMS 6.3 decision server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -627,11 +681,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BRMS 6.4 decision server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -670,6 +724,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-decisionserver-6/decisionserver64-openshift:1.1" } + }, + { + "name": "1.2", + "annotations": { + "description": "Red Hat JBoss BRMS 6.4 decision server S2I images.", + "iconClass": "icon-decisionserver", + "tags": "builder,decisionserver,java,hidden", + "supports": "decisionserver:6.4,java:8", + "sampleRepo": "https://github.com/jboss-openshift/openshift-quickstarts.git", + "sampleContextDir": "decisionserver/hellorules", + "sampleRef": "1.3", + "version": "1.2", + "openshift.io/display-name": "Red Hat JBoss BRMS 6.4 decision server" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-decisionserver-6/decisionserver64-openshift:1.2" + } } ] } @@ -682,11 +754,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BPM Suite 6.3 intelligent process server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -737,11 +809,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BPM Suite 6.4 intelligent process server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -780,6 +852,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-processserver-6/processserver64-openshift:1.1" } + }, + { + "name": "1.2", + "annotations": { + "description": "Red Hat JBoss BPM Suite 6.4 intelligent process server S2I images.", + "iconClass": "icon-processserver", + "tags": "builder,processserver,java,hidden", + "supports": "processserver:6.4,java:8", + "sampleRepo": "https://github.com/jboss-openshift/openshift-quickstarts.git", + "sampleContextDir": "processserver/library", + "sampleRef": "1.3", + "version": "1.2", + "openshift.io/display-name": "Red Hat JBoss BPM Suite 6.4 intelligent process server" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-processserver-6/processserver64-openshift:1.2" + } } ] } @@ -792,11 +882,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 6.5", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -859,6 +949,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-datagrid-6/datagrid65-openshift:1.5" } + }, + { + "name": "1.6", + "annotations": { + "description": "JBoss Data Grid 6.5 S2I images.", + "iconClass": "icon-datagrid", + "tags": "datagrid,jboss,hidden", + "supports": "datagrid:6.5", + "version": "1.6", + "openshift.io/display-name": "Red Hat JBoss Data Grid 6.5" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-datagrid-6/datagrid65-openshift:1.6" + } } ] } @@ -871,11 +976,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -908,6 +1013,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-datagrid-7/datagrid71-openshift:1.1" } + }, + { + "name": "1.2", + "annotations": { + "description": "JBoss Data Grid 7.1 S2I images.", + "iconClass": "icon-datagrid", + "tags": "datagrid,jboss,hidden", + "supports": "datagrid:7.1", + "version": "1.2", + "openshift.io/display-name": "Red Hat JBoss Data Grid 7.1" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-datagrid-7/datagrid71-openshift:1.2" + } } ] } @@ -920,11 +1040,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 6.5 Client Modules for EAP", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -967,11 +1087,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 7.1 Client Modules for EAP", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1000,11 +1120,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Virtualization 6.3", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1067,6 +1187,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-datavirt-6/datavirt63-openshift:1.3" } + }, + { + "name": "1.4", + "annotations": { + "description": "Red Hat JBoss Data Virtualization 6.3 S2I images.", + "iconClass": "icon-datavirt", + "tags": "datavirt,jboss,hidden", + "supports":"datavirt:6.3", + "version": "1.4", + "openshift.io/display-name": "Red Hat JBoss Data Virtualization 6.3" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-datavirt-6/datavirt63-openshift:1.4" + } } ] } @@ -1079,11 +1214,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Virtualization 6.5 JDBC Driver Modules for EAP", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1126,11 +1261,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss A-MQ 6.2", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1223,6 +1358,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-amq-6/amq62-openshift:1.6" } + }, + { + "name": "1.7", + "annotations": { + "description": "JBoss A-MQ 6.2 broker image.", + "iconClass": "icon-amq", + "tags": "messaging,amq,jboss,hidden", + "supports":"amq:6.2,messaging", + "version": "1.7", + "openshift.io/display-name": "Red Hat JBoss A-MQ 6.2" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-amq-6/amq62-openshift:1.7" + } } ] } @@ -1235,11 +1385,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss A-MQ 6.3", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1287,6 +1437,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-amq-6/amq63-openshift:1.2" } + }, + { + "name": "1.3", + "annotations": { + "description": "JBoss A-MQ 6.3 broker image.", + "iconClass": "icon-amq", + "tags": "messaging,amq,jboss,hidden", + "supports": "amq:6.3,messaging", + "version": "1.3", + "openshift.io/display-name": "Red Hat JBoss A-MQ 6.3" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-amq-6/amq63-openshift:1.3" + } } ] } @@ -1300,11 +1465,11 @@ "description": "Red Hat SSO 7.0", "openshift.io/display-name": "Red Hat Single Sign-On 7.0", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1350,11 +1515,11 @@ "description": "Red Hat SSO 7.1", "openshift.io/display-name": "Red Hat Single Sign-On 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1402,6 +1567,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/redhat-sso-7/sso71-openshift:1.2" } + }, + { + "name": "1.3", + "annotations": { + "description": "Red Hat SSO 7.1", + "iconClass": "icon-sso", + "tags": "sso,keycloak,redhat,hidden", + "supports": "sso:7.1", + "version": "1.3", + "openshift.io/display-name": "Red Hat Single Sign-On 7.1" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/redhat-sso-7/sso71-openshift:1.3" + } } ] } @@ -1414,11 +1594,11 @@ "annotations": { "openshift.io/display-name": "Red Hat OpenJDK 8", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-basic.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-basic.json index 8f8e14cb6..134a577b6 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-basic.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-basic.json @@ -7,14 +7,14 @@ "iconClass": "icon-amq", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (Ephemeral, no SSL)" }, "name": "amq62-basic" }, "labels": { "template": "amq62-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -73,7 +73,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -197,6 +197,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -223,7 +249,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -317,7 +343,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-persistent-ssl.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-persistent-ssl.json index 96f9d616f..5a034d0ba 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-persistent-ssl.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-persistent-ssl.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "amq62-persistent-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -68,7 +68,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -91,7 +91,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -346,6 +346,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -372,7 +398,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -393,7 +419,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -502,7 +527,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -585,7 +610,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -644,7 +669,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-persistent.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-persistent.json index 67c812fb4..bc62098ee 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-persistent.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-persistent.json @@ -6,7 +6,7 @@ "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone and use persistent storage for saving messages, including message migration when the number of pods are reduced. This template doesn't feature SSL support.", "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,7 +14,7 @@ }, "labels": { "template": "amq62-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new persistent messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -64,7 +64,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -87,7 +87,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -211,6 +211,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -237,7 +263,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -341,7 +367,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -398,7 +424,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -457,7 +483,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-ssl.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-ssl.json index 9f488820c..38a291fe9 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-ssl.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq62-ssl.json @@ -6,7 +6,7 @@ "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone or in a mesh. This template supports SSL and requires usage of OpenShift secrets.", "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (Ephemeral with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "amq62-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -108,7 +108,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -328,6 +328,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -354,7 +380,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -375,7 +401,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -476,7 +501,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-basic.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-basic.json index e13530764..b72a5adb2 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-basic.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-basic.json @@ -6,7 +6,7 @@ "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone or in a mesh. This template doesn't feature SSL support.", "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss A-MQ 6.3 (Ephemeral, no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,7 +14,7 @@ }, "labels": { "template": "amq63-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -73,7 +73,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -197,6 +197,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -223,7 +249,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -317,7 +343,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-persistent-ssl.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-persistent-ssl.json index 3eedee933..e0fa53831 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-persistent-ssl.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-persistent-ssl.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.3 (with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "amq63-persistent-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -90,7 +90,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -345,6 +345,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -371,7 +397,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -392,7 +418,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -501,7 +526,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -584,7 +609,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -643,7 +668,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-persistent.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-persistent.json index 7c0aec61a..a87876ca5 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-persistent.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.3 (no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "amq63-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new persistent messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -90,7 +90,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -214,6 +214,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -240,7 +266,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -344,7 +370,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -401,7 +427,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -460,7 +486,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-ssl.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-ssl.json index a55403c79..f4c43da0e 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-ssl.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/amq63-ssl.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.3 (Ephemeral with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "amq63-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -111,7 +111,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -331,6 +331,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -357,7 +383,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -378,7 +404,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -479,7 +504,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-basic.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-basic.json index af390c13d..055287371 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-basic.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-basic.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 applications.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 (Ephemeral, no https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,7 +14,7 @@ }, "labels": { "template": "datagrid65-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\".", "parameters": [ @@ -109,6 +109,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -185,6 +191,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -228,7 +260,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -255,6 +287,11 @@ "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -262,7 +299,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -315,16 +353,16 @@ "value": "${PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-https.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-https.json index 97d02c788..66636d7d7 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-https.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-https.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 applications.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datagrid65-https", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -172,6 +172,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -272,6 +278,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -338,7 +370,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -359,13 +391,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -385,7 +421,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -459,16 +496,16 @@ "value": "${HTTPS_PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-mysql-persistent.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-mysql-persistent.json index 018132668..51bb4f047 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-mysql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-mysql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid65-mysql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -166,7 +166,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -267,6 +267,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -395,6 +401,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -461,7 +493,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -482,13 +514,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -508,7 +544,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -634,16 +671,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-mysql.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-mysql.json index 1e8ca1b51..b7914b6ab 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-mysql.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-mysql.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 and MySQL applications.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datagrid65-mysql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -257,6 +257,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +391,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -472,13 +504,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -498,7 +534,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +661,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -805,8 +842,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-postgresql-persistent.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-postgresql-persistent.json index 4a1d818c9..f77590173 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-postgresql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-postgresql-persistent.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 and PostgreSQL applications with persistent storage.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "datagrid65-postgresql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -149,7 +149,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -250,6 +250,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -376,6 +382,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -442,7 +474,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -463,13 +495,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -489,7 +525,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -615,16 +652,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-postgresql.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-postgresql.json index d97bdfa75..991bec03a 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-postgresql.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid65-postgresql.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 and PostgreSQL applications built using.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datagrid65-postgresql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -239,6 +239,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -365,6 +371,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -431,7 +463,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -452,13 +484,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -478,7 +514,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -604,16 +641,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -777,8 +814,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-basic.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-basic.json index d4b83da34..66e900045 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-basic.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-basic.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 (Ephemeral, no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "datagrid71-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\".", "parameters": [ @@ -140,6 +140,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -216,6 +222,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -259,7 +291,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -286,6 +318,11 @@ "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -293,7 +330,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -362,16 +400,16 @@ "value": "${CONTAINER_SECURITY_ROLES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-https.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-https.json index 2a46bd3a2..6d092cbc9 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-https.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-https.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-https", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -203,6 +203,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -303,6 +309,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -369,7 +401,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -390,13 +422,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -416,7 +452,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -506,16 +543,16 @@ "value": "${HTTPS_PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-mysql-persistent.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-mysql-persistent.json index 72bdf2037..96f7b4b1f 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-mysql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-mysql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-mysql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -194,7 +194,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -295,6 +295,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -423,6 +429,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -489,7 +521,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -510,13 +542,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -536,7 +572,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -678,16 +715,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-mysql.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-mysql.json index 99f97a7c7..690fe1575 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-mysql.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-mysql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-mysql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -288,6 +288,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -416,6 +422,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -482,7 +514,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -503,13 +535,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -529,7 +565,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -671,16 +708,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -852,8 +889,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-partition.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-partition.json index baf17dbbb..06e9f13e7 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-partition.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-partition.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 (Ephemeral, no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "datagrid71-partition", - "xpaas": "1.4.0" + "xpaas": "1.4.8" }, "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\".", "parameters": [ @@ -145,7 +145,7 @@ "displayName": "Datagrid Volume Size", "description": "Size of the volume used by Datagrid for persisting metadata.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -154,6 +154,12 @@ "name": "DATAGRID_SPLIT", "value": "true", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -254,6 +260,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -297,7 +329,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -324,6 +356,11 @@ "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "mountPath": "/opt/datagrid/standalone/partitioned_data", @@ -337,7 +374,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -395,16 +433,16 @@ "value": "${PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-postgresql-persistent.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-postgresql-persistent.json index 5cd6e854a..49f2a1c25 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-postgresql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-postgresql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-postgresql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -176,7 +176,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -277,6 +277,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -403,6 +409,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -469,7 +501,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -490,13 +522,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -516,7 +552,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -658,16 +695,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-postgresql.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-postgresql.json index 505d67750..f9839389a 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-postgresql.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datagrid71-postgresql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-postgresql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -270,6 +270,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -396,6 +402,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +494,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -483,13 +515,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -509,7 +545,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -651,16 +688,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -824,8 +861,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-basic-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-basic-s2i.json index b6885d6f6..275500830 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-basic-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-datavirt", "description": "Application template for JBoss Data Virtualization 6.3 services built using S2I.", "tags": "jdv,datavirt,database,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Virtualization 6.3 (no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datavirt63-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the secret named ${CONFIGURATION_NAME} containing the datasource configuration details required by the deployed VDB(s).", + "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the secret named ${CONFIGURATION_NAME} containing the datasource configuration details required by the deployed VDB(s).", "parameters": [ { "description": "The name for the application.", @@ -61,13 +61,6 @@ "required": false }, { - "description": "The name of the service account to use for the deployment. The service account should be configured to allow usage of the secret specified by CONFIGURATION_NAME.", - "displayName": "Service Account Name", - "name": "SERVICE_ACCOUNT_NAME", - "value": "datavirt-service-account", - "required": true - }, - { "description": "Username associated with Teiid data service.", "displayName": "Teiid Username", "name": "TEIID_USERNAME", @@ -157,6 +150,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -196,6 +195,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -268,7 +293,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datavirt63-openshift:1.3" + "name": "jboss-datavirt63-openshift:1.4" }, "env": [ { @@ -372,13 +397,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -393,7 +422,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -433,16 +463,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "JGROUPS_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-extensions-support-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-extensions-support-s2i.json index a06f714a7..f5f4532b6 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-extensions-support-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-extensions-support-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datavirt", "tags": "jdv,datavirt,database,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Virtualization 6.3 (with SSL and Extensions)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Virtualization application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datavirt63-extensions-support-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "description": "The name for the application.", @@ -106,13 +106,6 @@ "required": false }, { - "description": "The name of the service account to use for the deployment. The service account should be configured to allow usage of the secret(s) specified by CONFIGURATION_NAME, HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "displayName": "Service Account Name", - "name": "SERVICE_ACCOUNT_NAME", - "value": "datavirt-service-account", - "required": true - }, - { "description": "The name of the secret containing the keystore to be used for serving secure content.", "displayName": "Server Keystore Secret Name", "name": "HTTPS_SECRET", @@ -265,6 +258,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -514,7 +539,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datavirt63-openshift:1.3" + "name": "jboss-datavirt63-openshift:1.4" }, "env": [ { @@ -627,13 +652,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -658,7 +687,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -713,16 +743,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-secure-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-secure-s2i.json index 1758b1be0..202a57a1e 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-secure-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/datavirt63-secure-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datavirt", "tags": "jdv,datavirt,database,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Virtualization 6.3 (with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Virtualization application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datavirt63-secure-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "description": "The name for the application.", @@ -78,13 +78,6 @@ "required": false }, { - "description": "The name of the service account to use for the deployment. The service account should be configured to allow usage of the secret(s) specified by CONFIGURATION_NAME, HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "displayName": "Service Account Name", - "name": "SERVICE_ACCOUNT_NAME", - "value": "datavirt-service-account", - "required": true - }, - { "description": "The name of the secret containing the keystore to be used for serving secure content.", "displayName": "Server Keystore Secret Name", "name": "HTTPS_SECRET", @@ -378,6 +371,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -432,6 +431,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -556,7 +581,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datavirt63-openshift:1.3" + "name": "jboss-datavirt63-openshift:1.4" }, "env": [ { @@ -660,13 +685,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -691,7 +720,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -746,16 +776,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-amq-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-amq-s2i.json index 3006a7265..231c597f9 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-amq-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-decisionserver", "tags": "decisionserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BRMS 6.4 decision server + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BRMS decision server A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "decisionserver64-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BRMS/A-MQ application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"decisionserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BRMS/A-MQ application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -182,7 +182,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -227,6 +227,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +311,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -396,7 +428,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-decisionserver64-openshift:1.1" + "name": "jboss-decisionserver64-openshift:1.2" } } }, @@ -473,13 +505,17 @@ } }, "spec": { - "serviceAccountName": "decisionserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "decisionserver-keystore-volume", @@ -494,7 +530,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -630,7 +667,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -727,7 +764,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-basic-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-basic-s2i.json index eaee9c1a5..6ed3c8a83 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-basic-s2i.json @@ -6,14 +6,14 @@ "description": "Application template for Red Hat JBoss BRMS 6.4 decision server applications built using S2I.", "iconClass": "icon-decisionserver", "tags": "decisionserver,jboss,xpaas", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss BRMS 6.4 decision server (no https)" }, "name": "decisionserver64-basic-s2i" }, "labels": { "template": "decisionserver64-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new BRMS application has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}.", "parameters": [ @@ -131,6 +131,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -227,7 +233,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-decisionserver64-openshift:1.1" + "name": "jboss-decisionserver64-openshift:1.2" } } }, @@ -310,6 +316,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -317,7 +328,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-https-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-https-s2i.json index cb6eb1706..a57a30862 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/decisionserver64-https-s2i.json @@ -6,7 +6,7 @@ "description": "Application template for Red Hat JBoss BRMS 6.4 decision server HTTPS applications built using S2I.", "iconClass": "icon-decisionserver", "tags": "decisionserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BRMS 6.4 decision server (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BRMS decision server application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "decisionserver64-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BRMS application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. Please be sure to create the \"decisionserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BRMS application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -185,6 +185,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -328,7 +334,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-decisionserver64-openshift:1.1" + "name": "jboss-decisionserver64-openshift:1.2" } } }, @@ -405,13 +411,17 @@ } }, "spec": { - "serviceAccountName": "decisionserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "decisionserver-keystore-volume", @@ -426,7 +436,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-amq-persistent-s2i.json index 9ebbfd06c..de62b246e 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-amq-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-amq-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -113,13 +113,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -174,7 +167,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -262,6 +255,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -340,6 +365,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -427,7 +478,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -504,13 +555,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -530,7 +585,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -597,16 +653,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -704,7 +760,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -823,7 +879,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-amq-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-amq-s2i.json index 6b0e1a30c..52824aa0f 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-amq-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + A-MQ (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -160,7 +153,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -248,6 +241,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -326,6 +351,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -413,7 +464,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -490,13 +541,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -516,7 +571,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -583,16 +639,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -687,7 +743,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -796,7 +852,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-basic-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-basic-s2i.json index 17fdd2333..ced21226f 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "eap64-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new EAP 6 based application has been created in your project.", "parameters": [ @@ -128,6 +128,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -156,6 +162,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -220,7 +252,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -303,6 +335,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -310,7 +347,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -340,16 +378,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HORNETQ_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-https-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-https-s2i.json index 8616ac04f..1702f493c 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-https-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -205,6 +198,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -257,6 +256,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -344,7 +369,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -421,13 +446,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,7 +476,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -482,16 +512,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mongodb-persistent-s2i.json index ea3b46d78..a56fe4ed2 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mongodb-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MongoDB (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -293,6 +286,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -371,6 +370,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -458,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -535,13 +560,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -561,7 +590,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -632,16 +662,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mongodb-s2i.json index 4aa9be281..cb92bac64 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mongodb-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MongoDB (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -286,6 +279,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -364,6 +363,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +476,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -528,13 +553,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -554,7 +583,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -625,16 +655,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -803,8 +833,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mysql-persistent-s2i.json index 304f11348..a6dd17d09 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mysql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -297,6 +290,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -375,6 +374,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -539,13 +564,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -565,7 +594,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -636,16 +666,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mysql-s2i.json index bc1cdaca5..936f5d607 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -290,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -368,6 +367,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -455,7 +480,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -532,13 +557,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -558,7 +587,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -629,16 +659,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -815,8 +845,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-postgresql-persistent-s2i.json index d2e6ea25b..53e9a38c8 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss EAP 6.4 + PostgreSQL (Persistent with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -279,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -357,6 +356,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -444,7 +469,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -521,13 +546,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -547,7 +576,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -618,16 +648,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-postgresql-s2i.json index 7a2d4009e..a13e68daf 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -272,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -437,7 +462,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -514,13 +539,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -540,7 +569,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -611,16 +641,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -789,8 +819,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-sso-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-sso-s2i.json index 368f147f4..2c5e16f40 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-sso-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-sso-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + Single Sign-On (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 Single Sign-On application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-sso-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 based application with SSL and SSO support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 based application with SSL and SSO support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -333,6 +326,12 @@ "name": "MAVEN_MIRROR_URL", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +384,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" }, "env": [ { @@ -553,13 +578,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "sso-saml-keystore-volume", @@ -589,7 +618,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +654,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HOSTNAME_HTTP", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-third-party-db-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-third-party-db-s2i.json index 701f4eee6..75c2c466c 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-third-party-db-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-third-party-db-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss EAP 6.4 (with https, DB drivers)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 DB application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-third-party-db-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -72,7 +72,7 @@ }, { "displayName": "Drivers ImageStreamTag", - "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-openshift:1.0-driver", + "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-driver-openshift:1.1", "name": "EXTENSIONS_IMAGE", "value": "jboss-datavirt63-driver-openshift:1.1", "required": true @@ -106,13 +106,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -233,6 +226,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-https", @@ -391,7 +416,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -478,13 +503,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -509,7 +538,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -544,16 +574,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "ENV_FILES", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-tx-recovery-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-tx-recovery-s2i.json new file mode 100644 index 000000000..de5ebe326 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap64-tx-recovery-s2i.json @@ -0,0 +1,605 @@ +{ + "kind": "Template", + "apiVersion": "v1", + "metadata": { + "annotations": { + "iconClass": "icon-eap", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 6.4 (tx recovery)", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "description": "An example EAP 6 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", + "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 6.4 based application, including a build configuration, application deployment configuration and insecure communication using http. The template also demonstrates how to enable automated transaction recovery on scale down of application pods. Automated transaction recovery is currently Technology Preview.", + "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/", + "template.openshift.io/support-url": "https://access.redhat.com" + }, + "name": "eap64-tx-recovery-s2i" + }, + "labels": { + "template": "eap64-tx-recovery-s2i", + "xpaas": "1.4.8" + }, + "message": "A new EAP 6 based application has been created in your project.", + "parameters": [ + { + "displayName": "Application Name", + "description": "The name for the application.", + "name": "APPLICATION_NAME", + "value": "eap-app", + "required": true + }, + { + "displayName": "Custom http Route Hostname", + "description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>", + "name": "HOSTNAME_HTTP", + "value": "", + "required": false + }, + { + "displayName": "Git Repository URL", + "description": "Git source URI for application", + "name": "SOURCE_REPOSITORY_URL", + "value": "https://github.com/jboss-developer/jboss-eap-quickstarts", + "required": true + }, + { + "displayName": "Git Reference", + "description": "Git branch/tag reference", + "name": "SOURCE_REPOSITORY_REF", + "value": "6.4.x", + "required": false + }, + { + "displayName": "Context Directory", + "description": "Path within Git project to build; empty for root project directory.", + "name": "CONTEXT_DIR", + "value": "kitchensink", + "required": false + }, + { + "displayName": "Queues", + "description": "Queue names", + "name": "HORNETQ_QUEUES", + "value": "", + "required": false + }, + { + "displayName": "Topics", + "description": "Topic names", + "name": "HORNETQ_TOPICS", + "value": "", + "required": false + }, + { + "displayName": "HornetQ Password", + "description": "HornetQ cluster admin password", + "name": "HORNETQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Github Webhook Secret", + "description": "GitHub trigger secret", + "name": "GITHUB_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Generic Webhook Secret", + "description": "Generic build trigger secret", + "name": "GENERIC_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "ImageStream Namespace", + "description": "Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.", + "name": "IMAGE_STREAM_NAMESPACE", + "value": "openshift", + "required": true + }, + { + "displayName": "JGroups Cluster Password", + "description": "JGroups cluster password", + "name": "JGROUPS_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Deploy Exploded Archives", + "description": "Controls whether exploded deployment content should be automatically deployed", + "name": "AUTO_DEPLOY_EXPLODED", + "value": "false", + "required": false + }, + { + "displayName": "Maven mirror URL", + "description": "Maven mirror to use for S2I builds", + "name": "MAVEN_MIRROR_URL", + "value": "", + "required": false + }, + { + "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.", + "name": "ARTIFACT_DIR", + "value": "", + "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false + }, + { + "displayName": "EAP Volume Size", + "description": "Size of the volume used by EAP for persisting data.", + "name": "VOLUME_CAPACITY", + "value": "1Gi", + "required": true + }, + { + "displayName": "Split the data directory?", + "description": "Split the data directory for each node in a cluster.", + "name": "SPLIT_DATA", + "value": "true", + "required": false + } + ], + "objects": [ + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "ports": [ + { + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "The web server's http port." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Route", + "apiVersion": "v1", + "id": "${APPLICATION_NAME}-http", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "Route for application's http service." + } + }, + "spec": { + "host": "${HOSTNAME_HTTP}", + "to": { + "name": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "env": [ + { + "name": "MAVEN_MIRROR_URL", + "value": "${MAVEN_MIRROR_URL}" + }, + { + "name": "ARTIFACT_DIR", + "value": "${ARTIFACT_DIR}" + } + ], + "forcePull": true, + "from": { + "kind": "ImageStreamTag", + "namespace": "${IMAGE_STREAM_NAMESPACE}", + "name": "jboss-eap64-openshift:1.7" + } + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + }, + "triggers": [ + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + }, + { + "type": "ImageChange", + "imageChange": {} + }, + { + "type": "ConfigChange" + } + ] + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 60, + "containers": [ + { + "name": "${APPLICATION_NAME}", + "image": "${APPLICATION_NAME}", + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "livenessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/livenessProbe.sh" + ] + }, + "initialDelaySeconds": 60 + }, + "readinessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/readinessProbe.sh" + ] + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "HORNETQ_CLUSTER_PASSWORD", + "value": "${HORNETQ_CLUSTER_PASSWORD}" + }, + { + "name": "HORNETQ_QUEUES", + "value": "${HORNETQ_QUEUES}" + }, + { + "name": "HORNETQ_TOPICS", + "value": "${HORNETQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}-migration" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-migration" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}-migration", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 60, + "containers": [ + { + "name": "${APPLICATION_NAME}-migration", + "image": "${APPLICATION_NAME}", + "command": [ + "/opt/eap/bin/openshift-migrate.sh" + ], + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "HORNETQ_CLUSTER_PASSWORD", + "value": "${HORNETQ_CLUSTER_PASSWORD}" + }, + { + "name": "HORNETQ_QUEUES", + "value": "${HORNETQ_QUEUES}" + }, + { + "name": "HORNETQ_TOPICS", + "value": "${HORNETQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": { + "name": "${APPLICATION_NAME}-eap-claim", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "accessModes": [ + "ReadWriteMany" + ], + "resources": { + "requests": { + "storage": "${VOLUME_CAPACITY}" + } + } + } + } + ] +} diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-amq-persistent-s2i.json index d16756bad..eb6929a2c 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-amq-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-amq-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -113,13 +113,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -174,7 +167,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -262,6 +255,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -340,6 +365,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -427,7 +478,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -504,13 +555,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -530,7 +585,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -597,16 +653,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -704,7 +760,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -823,7 +879,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-amq-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-amq-s2i.json index 70323214f..ca0efa2d9 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-amq-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -160,7 +153,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -248,6 +241,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -326,6 +351,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -413,7 +464,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -490,13 +541,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -516,7 +571,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -583,16 +639,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -687,7 +743,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -796,7 +852,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-basic-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-basic-s2i.json index 312db1971..a0d781a4d 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "eap70-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new EAP 7 based application has been created in your project.", "parameters": [ @@ -128,6 +128,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -156,6 +162,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -220,7 +252,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -303,6 +335,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -310,7 +347,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -340,16 +378,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "MQ_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-https-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-https-s2i.json index 7c3b35f5a..0b7d09001 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-https-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -205,6 +198,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -257,6 +256,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -344,7 +369,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -421,13 +446,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,7 +476,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -482,16 +512,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mongodb-persistent-s2i.json index 205e451c7..d6a154a38 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mongodb-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + MongoDB (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -293,6 +286,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -371,6 +370,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -458,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -535,13 +560,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -561,7 +590,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -632,16 +662,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mongodb-s2i.json index 63b57d5dc..31a2e161f 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mongodb-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Boss EAP 7.0 + MongoDB (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -286,6 +279,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -364,6 +363,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +476,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -528,13 +553,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -554,7 +583,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -625,16 +655,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -803,8 +833,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mysql-persistent-s2i.json index f9f77f22c..d487cfc40 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mysql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -297,6 +290,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -375,6 +374,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -539,13 +564,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -565,7 +594,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -636,16 +666,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mysql-s2i.json index 8ea433a80..ee4e8f01d 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -290,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -368,6 +367,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -455,7 +480,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -532,13 +557,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -558,7 +587,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -629,16 +659,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -819,8 +849,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-postgresql-persistent-s2i.json index a2bc9d3b9..aba0c8c64 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + PostgreSQL (Persistent with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -279,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -357,6 +356,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -444,7 +469,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -521,13 +546,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -547,7 +576,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -618,16 +648,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-postgresql-s2i.json index 66b0c737d..bf7c6cf89 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -272,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -437,7 +462,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -514,13 +539,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -540,7 +569,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -611,16 +641,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -793,8 +823,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-sso-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-sso-s2i.json index 2201ff7f3..3601e2354 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-sso-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-sso-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + Single Sign-On (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 Single Sign-On application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-sso-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -86,13 +86,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -333,6 +326,12 @@ "name": "MAVEN_MIRROR_URL", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +384,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" }, "env": [ { @@ -553,13 +578,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "sso-saml-keystore-volume", @@ -589,7 +618,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +654,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HOSTNAME_HTTP", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-third-party-db-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-third-party-db-s2i.json index 3ca69f6c7..08b2717be 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-third-party-db-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-third-party-db-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 (with https, DB drivers)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 DB application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-third-party-db-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -72,7 +72,7 @@ }, { "displayName": "Drivers ImageStreamTag", - "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-openshift:1.0-driver", + "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-driver-openshift:1.1", "name": "EXTENSIONS_IMAGE", "value": "jboss-datavirt63-driver-openshift:1.1", "required": true @@ -106,13 +106,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -233,6 +226,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -285,6 +284,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -391,7 +416,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -478,13 +503,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -509,7 +538,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -544,16 +574,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "ENV_FILES", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-tx-recovery-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-tx-recovery-s2i.json new file mode 100644 index 000000000..4edfb1336 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap70-tx-recovery-s2i.json @@ -0,0 +1,605 @@ +{ + "kind": "Template", + "apiVersion": "v1", + "metadata": { + "annotations": { + "iconClass": "icon-eap", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 7.0 (tx recovery)", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", + "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 7.0 based application, including a build configuration, application deployment configuration and insecure communication using http. The template also demonstrates how to enable automated transaction recovery on scale down of application pods. Automated transaction recovery is currently Technology Preview.", + "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/", + "template.openshift.io/support-url": "https://access.redhat.com" + }, + "name": "eap70-tx-recovery-s2i" + }, + "labels": { + "template": "eap70-tx-recovery-s2i", + "xpaas": "1.4.8" + }, + "message": "A new EAP 7 based application has been created in your project.", + "parameters": [ + { + "displayName": "Application Name", + "description": "The name for the application.", + "name": "APPLICATION_NAME", + "value": "eap-app", + "required": true + }, + { + "displayName": "Custom http Route Hostname", + "description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>", + "name": "HOSTNAME_HTTP", + "value": "", + "required": false + }, + { + "displayName": "Git Repository URL", + "description": "Git source URI for application", + "name": "SOURCE_REPOSITORY_URL", + "value": "https://github.com/jboss-developer/jboss-eap-quickstarts", + "required": true + }, + { + "displayName": "Git Reference", + "description": "Git branch/tag reference", + "name": "SOURCE_REPOSITORY_REF", + "value": "7.0.0.GA", + "required": false + }, + { + "displayName": "Context Directory", + "description": "Path within Git project to build; empty for root project directory.", + "name": "CONTEXT_DIR", + "value": "kitchensink", + "required": false + }, + { + "displayName": "Queues", + "description": "Queue names", + "name": "MQ_QUEUES", + "value": "", + "required": false + }, + { + "displayName": "Topics", + "description": "Topic names", + "name": "MQ_TOPICS", + "value": "", + "required": false + }, + { + "displayName": "A-MQ cluster password", + "description": "A-MQ cluster admin password", + "name": "MQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Github Webhook Secret", + "description": "GitHub trigger secret", + "name": "GITHUB_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Generic Webhook Secret", + "description": "Generic build trigger secret", + "name": "GENERIC_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "ImageStream Namespace", + "description": "Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.", + "name": "IMAGE_STREAM_NAMESPACE", + "value": "openshift", + "required": true + }, + { + "displayName": "JGroups Cluster Password", + "description": "JGroups cluster password", + "name": "JGROUPS_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Deploy Exploded Archives", + "description": "Controls whether exploded deployment content should be automatically deployed", + "name": "AUTO_DEPLOY_EXPLODED", + "value": "false", + "required": false + }, + { + "displayName": "Maven mirror URL", + "description": "Maven mirror to use for S2I builds", + "name": "MAVEN_MIRROR_URL", + "value": "", + "required": false + }, + { + "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.", + "name": "ARTIFACT_DIR", + "value": "", + "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false + }, + { + "displayName": "EAP Volume Size", + "description": "Size of the volume used by EAP for persisting data.", + "name": "VOLUME_CAPACITY", + "value": "1Gi", + "required": true + }, + { + "displayName": "Split the data directory?", + "description": "Split the data directory for each node in a cluster.", + "name": "SPLIT_DATA", + "value": "true", + "required": false + } + ], + "objects": [ + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "ports": [ + { + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "The web server's http port." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Route", + "apiVersion": "v1", + "id": "${APPLICATION_NAME}-http", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "Route for application's http service." + } + }, + "spec": { + "host": "${HOSTNAME_HTTP}", + "to": { + "name": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "env": [ + { + "name": "MAVEN_MIRROR_URL", + "value": "${MAVEN_MIRROR_URL}" + }, + { + "name": "ARTIFACT_DIR", + "value": "${ARTIFACT_DIR}" + } + ], + "forcePull": true, + "from": { + "kind": "ImageStreamTag", + "namespace": "${IMAGE_STREAM_NAMESPACE}", + "name": "jboss-eap70-openshift:1.7" + } + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + }, + "triggers": [ + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + }, + { + "type": "ImageChange", + "imageChange": {} + }, + { + "type": "ConfigChange" + } + ] + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}", + "image": "${APPLICATION_NAME}", + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "livenessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/livenessProbe.sh" + ] + }, + "initialDelaySeconds": 60 + }, + "readinessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/readinessProbe.sh" + ] + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}-migration" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-migration" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}-migration", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}-migration", + "image": "${APPLICATION_NAME}", + "command": [ + "/opt/eap/bin/openshift-migrate.sh" + ], + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": { + "name": "${APPLICATION_NAME}-eap-claim", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "accessModes": [ + "ReadWriteMany" + ], + "resources": { + "requests": { + "storage": "${VOLUME_CAPACITY}" + } + } + } + } + ] +} diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-amq-persistent-s2i.json index dbc1a8013..d5e785f69 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-amq-persistent-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-amq-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -113,13 +113,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -174,7 +167,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -262,6 +255,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -340,6 +365,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -427,7 +478,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -504,13 +555,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -530,7 +585,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -597,16 +653,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -704,7 +760,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -823,7 +879,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-amq-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-amq-s2i.json index 6e330eae9..16d19d540 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-amq-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,xpaas,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss,hidden", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -160,7 +153,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -248,6 +241,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -326,6 +351,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -413,7 +464,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -490,13 +541,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -516,7 +571,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -583,16 +639,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -687,7 +743,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -796,7 +852,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-basic-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-basic-s2i.json index 892ec468c..ece7c7310 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-basic-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "eap71-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new EAP 7 based application has been created in your project.", "parameters": [ @@ -128,6 +128,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -156,6 +162,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -220,7 +252,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -303,6 +335,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -310,7 +347,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -340,16 +378,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "MQ_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-https-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-https-s2i.json index 7426830ec..515e69e83 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-https-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -205,6 +198,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -257,6 +256,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -344,7 +369,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -421,13 +446,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,7 +476,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -482,16 +512,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mongodb-persistent-s2i.json index fb7f27acf..97ed818d3 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mongodb-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MongoDB (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -293,6 +286,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -371,6 +370,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -458,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -535,13 +560,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -561,7 +590,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -632,16 +662,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mongodb-s2i.json index 915c9ba0a..b59ca2b5e 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mongodb-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MongoDB (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -286,6 +279,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -364,6 +363,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +476,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -528,13 +553,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -554,7 +583,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -625,16 +655,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -803,8 +833,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mysql-persistent-s2i.json index 6af9e5f50..aee9966a5 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mysql-persistent-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -297,6 +290,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -375,6 +374,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -539,13 +564,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -565,7 +594,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -636,16 +666,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mysql-s2i.json index c7d14d3c7..d1062329e 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -290,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -368,6 +367,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -455,7 +480,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -532,13 +557,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -558,7 +587,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -629,16 +659,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -819,8 +849,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-postgresql-persistent-s2i.json index a8d77b0ab..e4c306478 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-postgresql-persistent-s2i.json @@ -4,9 +4,9 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", - "openshift.io/display-name": "JBoss EAP 7.1 + PostgreSQL (with https)", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 7.1 + PostgreSQL (Persistent with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 7.1 based application, including a build configuration, application deployment configuration, database deployment configuration for PostgreSQL using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -279,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -357,6 +356,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -444,7 +469,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -521,13 +546,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -547,7 +576,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -618,16 +648,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-postgresql-s2i.json index d87f05ea8..ef5402199 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -272,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -437,7 +462,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -514,13 +539,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -540,7 +569,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -611,16 +641,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -793,8 +823,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-sso-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-sso-s2i.json index 96b3dffc9..3e5c346bf 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-sso-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-sso-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + Single Sign-On (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 Single Sign-On application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-sso-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -66,22 +66,23 @@ { "displayName": "Queues", "description": "Queue names", - "name": "HORNETQ_QUEUES", + "name": "MQ_QUEUES", "value": "", "required": false }, { "displayName": "Topics", "description": "Topic names", - "name": "HORNETQ_TOPICS", + "name": "MQ_TOPICS", "value": "", "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", + "displayName": "A-MQ cluster password", + "description": "A-MQ cluster admin password", + "name": "MQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", "required": true }, { @@ -120,14 +121,6 @@ "required": false }, { - "displayName": "HornetQ Password", - "description": "HornetQ cluster admin password", - "name": "HORNETQ_CLUSTER_PASSWORD", - "from": "[a-zA-Z0-9]{8}", - "generate": "expression", - "required": true - }, - { "displayName": "Github Webhook Secret", "description": "GitHub trigger secret", "name": "GITHUB_WEBHOOK_SECRET", @@ -333,6 +326,12 @@ "name": "MAVEN_MIRROR_URL", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +384,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" }, "env": [ { @@ -553,13 +578,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "sso-saml-keystore-volume", @@ -589,7 +618,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +654,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HOSTNAME_HTTP", @@ -664,16 +694,16 @@ "value": "${HTTPS_PASSWORD}" }, { - "name": "HORNETQ_CLUSTER_PASSWORD", - "value": "${HORNETQ_CLUSTER_PASSWORD}" + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" }, { - "name": "HORNETQ_QUEUES", - "value": "${HORNETQ_QUEUES}" + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" }, { - "name": "HORNETQ_TOPICS", - "value": "${HORNETQ_TOPICS}" + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" }, { "name": "JGROUPS_ENCRYPT_SECRET", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-third-party-db-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-third-party-db-s2i.json index a2a7264fb..41644db89 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-third-party-db-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-third-party-db-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 (with https, DB drivers)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 DB application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-third-party-db-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -72,7 +72,7 @@ }, { "displayName": "Drivers ImageStreamTag", - "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-openshift:1.0-driver", + "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-driver-openshift:1.1", "name": "EXTENSIONS_IMAGE", "value": "jboss-datavirt63-driver-openshift:1.1", "required": true @@ -106,13 +106,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -233,6 +226,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -285,6 +284,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -391,7 +416,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -478,13 +503,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -509,7 +538,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -544,16 +574,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "ENV_FILES", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-tx-recovery-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-tx-recovery-s2i.json new file mode 100644 index 000000000..e2525c7e7 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/eap71-tx-recovery-s2i.json @@ -0,0 +1,605 @@ +{ + "kind": "Template", + "apiVersion": "v1", + "metadata": { + "annotations": { + "iconClass": "icon-eap", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 7.1 (tx recovery)", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", + "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 7.1 based application, including a build configuration, application deployment configuration and insecure communication using http. The template also demonstrates how to enable automated transaction recovery on scale down of application pods. Automated transaction recovery is currently Technology Preview.", + "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/", + "template.openshift.io/support-url": "https://access.redhat.com" + }, + "name": "eap71-tx-recovery-s2i" + }, + "labels": { + "template": "eap71-tx-recovery-s2i", + "xpaas": "1.4.8" + }, + "message": "A new EAP 7 based application has been created in your project.", + "parameters": [ + { + "displayName": "Application Name", + "description": "The name for the application.", + "name": "APPLICATION_NAME", + "value": "eap-app", + "required": true + }, + { + "displayName": "Custom http Route Hostname", + "description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>", + "name": "HOSTNAME_HTTP", + "value": "", + "required": false + }, + { + "displayName": "Git Repository URL", + "description": "Git source URI for application", + "name": "SOURCE_REPOSITORY_URL", + "value": "https://github.com/jboss-developer/jboss-eap-quickstarts", + "required": true + }, + { + "displayName": "Git Reference", + "description": "Git branch/tag reference", + "name": "SOURCE_REPOSITORY_REF", + "value": "7.0.0.GA", + "required": false + }, + { + "displayName": "Context Directory", + "description": "Path within Git project to build; empty for root project directory.", + "name": "CONTEXT_DIR", + "value": "kitchensink", + "required": false + }, + { + "displayName": "Queues", + "description": "Queue names", + "name": "MQ_QUEUES", + "value": "", + "required": false + }, + { + "displayName": "Topics", + "description": "Topic names", + "name": "MQ_TOPICS", + "value": "", + "required": false + }, + { + "displayName": "A-MQ cluster password", + "description": "A-MQ cluster admin password", + "name": "MQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Github Webhook Secret", + "description": "GitHub trigger secret", + "name": "GITHUB_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Generic Webhook Secret", + "description": "Generic build trigger secret", + "name": "GENERIC_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "ImageStream Namespace", + "description": "Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.", + "name": "IMAGE_STREAM_NAMESPACE", + "value": "openshift", + "required": true + }, + { + "displayName": "JGroups Cluster Password", + "description": "JGroups cluster password", + "name": "JGROUPS_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Deploy Exploded Archives", + "description": "Controls whether exploded deployment content should be automatically deployed", + "name": "AUTO_DEPLOY_EXPLODED", + "value": "false", + "required": false + }, + { + "displayName": "Maven mirror URL", + "description": "Maven mirror to use for S2I builds", + "name": "MAVEN_MIRROR_URL", + "value": "", + "required": false + }, + { + "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.", + "name": "ARTIFACT_DIR", + "value": "", + "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false + }, + { + "displayName": "EAP Volume Size", + "description": "Size of the volume used by EAP for persisting data.", + "name": "VOLUME_CAPACITY", + "value": "1Gi", + "required": true + }, + { + "displayName": "Split the data directory?", + "description": "Split the data directory for each node in a cluster.", + "name": "SPLIT_DATA", + "value": "true", + "required": false + } + ], + "objects": [ + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "ports": [ + { + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "The web server's http port." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Route", + "apiVersion": "v1", + "id": "${APPLICATION_NAME}-http", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "Route for application's http service." + } + }, + "spec": { + "host": "${HOSTNAME_HTTP}", + "to": { + "name": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "env": [ + { + "name": "MAVEN_MIRROR_URL", + "value": "${MAVEN_MIRROR_URL}" + }, + { + "name": "ARTIFACT_DIR", + "value": "${ARTIFACT_DIR}" + } + ], + "forcePull": true, + "from": { + "kind": "ImageStreamTag", + "namespace": "${IMAGE_STREAM_NAMESPACE}", + "name": "jboss-eap71-openshift:1.1" + } + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + }, + "triggers": [ + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + }, + { + "type": "ImageChange", + "imageChange": {} + }, + { + "type": "ConfigChange" + } + ] + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}", + "image": "${APPLICATION_NAME}", + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "livenessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/livenessProbe.sh" + ] + }, + "initialDelaySeconds": 60 + }, + "readinessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/readinessProbe.sh" + ] + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}-migration" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-migration" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}-migration", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}-migration", + "image": "${APPLICATION_NAME}", + "command": [ + "/opt/eap/bin/openshift-migrate.sh" + ], + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": { + "name": "${APPLICATION_NAME}-eap-claim", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "accessModes": [ + "ReadWriteMany" + ], + "resources": { + "requests": { + "storage": "${VOLUME_CAPACITY}" + } + } + } + } + ] +} diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-basic-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-basic-s2i.json index 42e352538..146cbeb0e 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-basic-s2i.json @@ -7,14 +7,14 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 (no https)" }, "name": "jws31-tomcat7-basic-s2i" }, "labels": { "template": "jws31-tomcat7-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new JWS application for Apache Tomcat 7 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}.", "parameters": [ diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-https-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-https-s2i.json index b0a81d9c3..8de78d6b6 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-https-s2i.json @@ -7,7 +7,7 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Web Server application configured for use with https. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 (with https)", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 7 based application, including a build configuration, and application deployment configuration. This also illustrations how to connect to the web applicaiton using https.", "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-web-server/", @@ -18,9 +18,9 @@ }, "labels": { "template": "jws31-tomcat7-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -359,7 +359,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json index 565f97822..97b0df4c3 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + MongoDB (with https)", "description": "An example JBoss Web Server application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 7 based application, including a build configuration, application deployment configuration, database deployment configuration for MongoDB using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "jws31-tomcat7-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -472,7 +472,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mongodb-s2i.json index fc473f5c3..28155b34b 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mongodb-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MongoDB applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + MongoDB (Ephemeral with https)" }, "name": "jws31-tomcat7-mongodb-s2i" }, "labels": { "template": "jws31-tomcat7-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -462,7 +462,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -664,8 +663,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json index 1223acd0f..0a87c85a9 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss Web Server 3.1 Apache Tomcat 7 + MySQL (with https)", "description": "An example JBoss Web Server application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 7 based application, including a build configuration, application deployment configuration, database deployment configuration for MySQL using persistence and secure communication using https.", @@ -18,9 +18,9 @@ }, "labels": { "template": "jws31-tomcat7-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -82,7 +82,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -477,7 +477,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mysql-s2i.json index 39becd41e..b77f0cc22 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-mysql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MySQL applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + MySQL (Ephemeral with https)" }, "name": "jws31-tomcat7-mysql-s2i" }, "labels": { "template": "jws31-tomcat7-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -466,7 +466,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -667,8 +666,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json index 77f4f8c9f..4fabc2cb4 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + PostgreSQL (with https)", "description": "An example JBoss Web Server application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, application deployment configuration, database deployment configuration for PostgreSQL using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "jws31-tomcat7-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -458,7 +458,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-postgresql-s2i.json index 6d1d7aef7..64eaff560 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat7-postgresql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS PostgreSQL applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + PostgreSQL (Ephemeral with https)" }, "name": "jws31-tomcat7-postgresql-s2i" }, "labels": { "template": "jws31-tomcat7-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -448,7 +448,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -641,8 +640,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-basic-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-basic-s2i.json index 9e7dc3488..5cc2a565f 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-basic-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 (no https)", "description": "An example JBoss Web Server application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, and an application deployment configuration.", @@ -17,7 +17,7 @@ }, "labels": { "template": "jws31-tomcat8-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new JWS application for Apache Tomcat 8 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}.", "parameters": [ diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-https-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-https-s2i.json index 8fd5d9fab..9d197649b 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-https-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 (with https)", "description": "An example JBoss Web Server application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, application deployment configuration, and secure communication using https.", @@ -18,9 +18,9 @@ }, "labels": { "template": "jws31-tomcat8-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -359,7 +359,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json index f4b11ccfa..51bd9e7cc 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json @@ -4,7 +4,7 @@ "metadata": { "annotations": { "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MongoDB (with https)", @@ -16,10 +16,10 @@ }, "name": "jws31-tomcat8-mongodb-persistent-s2i" }, - "message": "A new persistent JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "labels": { "template": "jws31-tomcat8-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "parameters": [ { @@ -82,7 +82,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -473,7 +473,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mongodb-s2i.json index e2f69f157..9f2beef31 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mongodb-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MongoDB applications built using S2I.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MongoDB (Ephemeral with https)" }, "name": "jws31-tomcat8-mongodb-s2i" }, "labels": { "template": "jws31-tomcat8-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -462,7 +462,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -664,8 +663,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json index 579071cb1..5213cc261 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MySQL (with https)", "description": "An example JBoss Web Server application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, application deployment configuration, database deployment configuration for MySQL using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "jws31-tomcat8-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -476,7 +476,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mysql-s2i.json index e84d61608..1ccd4fa37 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-mysql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MySQL applications built using S2I.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MySQL (Ephemeral with https)" }, "name": "jws31-tomcat8-mysql-s2i" }, "labels": { "template": "jws31-tomcat8-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -466,7 +466,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -667,8 +666,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json index 83a6ca19b..86d8c0fa8 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS PostgreSQL applications with persistent storage built using S2I.", "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + PostgreSQL (with https)" }, "name": "jws31-tomcat8-postgresql-persistent-s2i" }, "labels": { "template": "jws31-tomcat8-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -78,7 +78,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -455,7 +455,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-postgresql-s2i.json index e28cf8a04..b77234318 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/jws31-tomcat8-postgresql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS PostgreSQL applications built using S2I.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.0 Apache Tomcat 8 + PostgreSQL (Ephemeral with https)" }, "name": "jws31-tomcat8-postgresql-s2i" }, "labels": { "template": "jws31-tomcat8-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -448,7 +448,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "containers": [ { "name": "${APPLICATION_NAME}", @@ -639,8 +638,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-amq-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-amq-template.json index aad649f84..3415bba4a 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-amq-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-amq-template.json @@ -3,7 +3,7 @@ "kind": "Template", "metadata": { "annotations": { - "description": "Camel route using ActiveMQ in Karaf container. This quickstart shows how to use Camel in a Karaf Container using Blueprint to connect to the A-MQ xPaaS message broker on OpenShift that should already be installed, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq62-basic template.", + "description": "Camel route using ActiveMQ in Karaf container. This quickstart shows how to use Camel in a Karaf Container using Blueprint to connect to the A-MQ xPaaS message broker on OpenShift that should already be installed, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq63-basic template.", "tags": "quickstart,java,karaf,fis", "iconClass": "icon-jboss", "version": "2.0" @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-camel-amq-1.0.0.redhat-000019", + "value": "karaf2-camel-amq-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-log-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-log-template.json index 38b7bc249..188ae1734 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-log-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-log-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-camel-log-1.0.0.redhat-000019", + "value": "karaf2-camel-log-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-rest-sql-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-rest-sql-template.json index 6d9573e5b..0ed72f39c 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-rest-sql-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-camel-rest-sql-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-camel-rest-sql-1.0.0.redhat-000019", + "value": "karaf2-camel-rest-sql-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -73,7 +73,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-cxf-rest-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-cxf-rest-template.json index fdc0c00e5..3a34eebae 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-cxf-rest-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/karaf2-cxf-rest-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-cxf-rest-1.0.0.redhat-000019", + "value": "karaf2-cxf-rest-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/openjdk18-web-basic-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/openjdk18-web-basic-s2i.json index 6336f0398..466dfb984 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/openjdk18-web-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/openjdk18-web-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-rh-openjdk", "tags": "java", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "OpenJDK 8", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example Java application using OpenJDK 8. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "openjdk18-web-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new java application has been created in your project.", "parameters": [ diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json index 9ef04ae71..ec1619137 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-amq-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -152,7 +152,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -302,7 +302,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -354,6 +354,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -456,6 +462,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -547,7 +579,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -624,13 +656,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -645,7 +681,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -1000,7 +1037,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -1107,7 +1144,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-mysql-s2i.json index 4cb45db42..0deb96c82 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-amq-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -288,7 +288,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -340,6 +340,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -442,6 +448,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -533,7 +565,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -610,13 +642,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -631,7 +667,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -885,8 +922,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } @@ -916,7 +967,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -1013,7 +1064,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json index 56fefcc0a..92767f3b5 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-amq-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -152,7 +152,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -284,7 +284,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -336,6 +336,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -438,6 +444,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -529,7 +561,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -606,13 +638,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -627,7 +663,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -970,7 +1007,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -1077,7 +1114,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-postgresql-s2i.json index bb8d2df28..add35a349 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-amq-postgresql-s2i.json @@ -6,7 +6,7 @@ "description": "Application template for Red Hat JBoss BPM Suite 6.4 intelligent process server AMQ and PostgreSQL applications built using S2I.", "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "processserver64-amq-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -271,7 +271,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -323,6 +323,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -425,6 +431,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -516,7 +548,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -593,13 +625,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -614,7 +650,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -856,8 +893,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } @@ -887,7 +938,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -984,7 +1035,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-basic-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-basic-s2i.json index 1b7cc8cf1..9af4b6cb4 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "processserver64-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new BPMS application has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}.", "parameters": [ @@ -142,6 +142,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -238,7 +244,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -321,6 +327,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -328,7 +339,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-mysql-persistent-s2i.json index 1a4d0887c..97388a2e1 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-mysql-persistent-s2i.json @@ -6,7 +6,7 @@ "description": "Application template for Red Hat JBoss BPM Suite 6.4 intelligent process server MySQL applications with persistent storage built using S2I.", "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "processserver64-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -132,7 +132,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -291,6 +291,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -460,7 +466,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -537,13 +543,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -558,7 +568,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-mysql-s2i.json index 7c491d832..2e7dc3158 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -283,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -452,7 +458,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -529,13 +535,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -550,7 +560,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -776,8 +787,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-postgresql-persistent-s2i.json index 8965ea41f..66dc891cb 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -131,7 +131,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -272,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -441,7 +447,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -518,13 +524,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -539,7 +549,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-postgresql-s2i.json index e21f0ce4e..bb9efc2bb 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/processserver64-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -265,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -434,7 +440,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -511,13 +517,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -532,7 +542,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -746,8 +757,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-amq-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-amq-template.json index 2c1a73a29..89f10f955 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-amq-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-amq-template.json @@ -3,7 +3,7 @@ "kind": "Template", "metadata": { "annotations": { - "description": "Spring Boot, Camel and ActiveMQ QuickStart. This quickstart demonstrates how to connect a Spring-Boot application to an ActiveMQ broker and use JMS messaging between two Camel routes using OpenShift. In this example we will use two containers, one container to run as a ActiveMQ broker, and another as a client to the broker, where the Camel routes are running. This quickstart requires the ActiveMQ broker has been deployed and running first, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq62-basic template", + "description": "Spring Boot, Camel and ActiveMQ QuickStart. This quickstart demonstrates how to connect a Spring-Boot application to an ActiveMQ broker and use JMS messaging between two Camel routes using OpenShift. In this example we will use two containers, one container to run as a ActiveMQ broker, and another as a client to the broker, where the Camel routes are running. This quickstart requires the ActiveMQ broker has been deployed and running first, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq63-basic template", "tags": "quickstart,java,springboot,fis", "iconClass": "icon-jboss", "version": "2.0" @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-amq-1.0.0.redhat-000064", + "value": "spring-boot-camel-amq-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -60,7 +60,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-config-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-config-template.json index b62e768b6..6b298b994 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-config-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-config-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-config-1.0.0.redhat-000014", + "value": "spring-boot-camel-config-1.0.0.redhat-000017", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -64,7 +64,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000014", + "value": "1.0.0.redhat-000017", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-drools-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-drools-template.json index 91081e493..e646ccdb4 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-drools-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-drools-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-drools-1.0.0.redhat-000063", + "value": "spring-boot-camel-drools-1.0.0.redhat-000066", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -63,7 +63,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000063", + "value": "1.0.0.redhat-000066", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-infinispan-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-infinispan-template.json index 8d97400ab..1d4910b9a 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-infinispan-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-infinispan-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-infinispan-1.0.0.redhat-000033", + "value": "spring-boot-camel-infinispan-1.0.0.redhat-000036", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -50,7 +50,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000033", + "value": "1.0.0.redhat-000036", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-rest-sql-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-rest-sql-template.json index bf722844c..61f6cb983 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-rest-sql-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-rest-sql-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-rest-sql-1.0.0.redhat-000064", + "value": "spring-boot-camel-rest-sql-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -72,7 +72,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-teiid-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-teiid-template.json index 856264615..1f5542069 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-teiid-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-teiid-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-teiid-1.0.0.redhat-000062", + "value": "spring-boot-camel-teiid-1.0.0.redhat-000065", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -68,7 +68,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000062", + "value": "1.0.0.redhat-000065", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-template.json index 9c0fe287e..939979912 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-1.0.0.redhat-000064", + "value": "spring-boot-camel-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -43,7 +43,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-xml-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-xml-template.json index 87c0e347a..c5691bc9b 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-xml-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-camel-xml-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-xml-1.0.0.redhat-000064", + "value": "spring-boot-camel-xml-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -43,7 +43,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-cxf-jaxrs-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-cxf-jaxrs-template.json index 8b0261035..577eebf58 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-cxf-jaxrs-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-cxf-jaxrs-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-cxf-jaxrs-1.0.0.redhat-000014", + "value": "spring-boot-cxf-jaxrs-1.0.0.redhat-000017", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000014", + "value": "1.0.0.redhat-000017", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-cxf-jaxws-template.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-cxf-jaxws-template.json index 8b36f5f0b..11441276a 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-cxf-jaxws-template.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/spring-boot-cxf-jaxws-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-cxf-jaxws-1.0.0.redhat-000014", + "value": "spring-boot-cxf-jaxws-1.0.0.redhat-000017", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000014", + "value": "1.0.0.redhat-000017", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-https.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-https.json index 26dd26624..655ec2eaa 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-https.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-https.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-https", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new SSO service has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new SSO service has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -43,13 +43,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -202,6 +195,12 @@ "name": "SSO_TRUSTSTORE_SECRET", "value": "sso-app-secret", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -254,6 +253,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -320,7 +345,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -341,13 +366,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -365,17 +394,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -384,7 +402,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -431,16 +449,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-mysql-persistent.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-mysql-persistent.json index 7092bb65e..83de1ab37 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-mysql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-mysql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + MySQL", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-mysql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new persistent SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -166,7 +159,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -276,6 +269,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -354,6 +353,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -420,7 +445,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -441,13 +466,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -465,17 +494,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -484,7 +502,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -555,16 +573,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-mysql.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-mysql.json index d90f0a0cc..269761dac 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-mysql.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-mysql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + MySQL (Ephemeral)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-mysql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -269,6 +262,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -419,7 +444,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -441,13 +466,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -465,17 +494,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -484,7 +502,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -555,16 +573,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -761,8 +779,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-postgresql-persistent.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-postgresql-persistent.json index b1077db91..cd167d983 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-postgresql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-postgresql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + PostgreSQL", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-postgresql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new persistent SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -148,7 +141,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -258,6 +251,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -336,6 +335,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -402,7 +427,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -423,13 +448,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,17 +476,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -466,7 +484,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -537,16 +555,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-postgresql.json b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-postgresql.json index 0955d712a..365383f8a 100644 --- a/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-postgresql.json +++ b/roles/openshift_examples/files/examples/v3.7/xpaas-templates/sso71-postgresql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + PostgreSQL (Ephemeral)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-postgresql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -251,6 +244,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -332,6 +331,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -401,7 +426,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -423,13 +448,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,17 +476,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -466,7 +484,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -537,16 +555,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -735,8 +753,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-streams/jboss-image-streams.json b/roles/openshift_examples/files/examples/v3.8/xpaas-streams/jboss-image-streams.json index ed2dbf572..7281864f8 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-streams/jboss-image-streams.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-streams/jboss-image-streams.json @@ -17,11 +17,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Web Server 3.0 Apache Tomcat 7", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -87,11 +87,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Web Server 3.0 Apache Tomcat 8", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -157,11 +157,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Web Server 3.1 Apache Tomcat 7", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -210,11 +210,11 @@ "annotations": { "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -263,11 +263,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss EAP 6.4", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -378,6 +378,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-eap-6/eap64-openshift:1.6" } + }, + { + "name": "1.7", + "annotations": { + "description": "JBoss EAP 6.4 S2I images.", + "iconClass": "icon-eap", + "tags": "builder,eap,javaee,java,jboss,hidden", + "supports": "eap:6.4,javaee:6,java:8", + "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git", + "sampleContextDir": "kitchensink", + "sampleRef": "6.4.x", + "version": "1.7", + "openshift.io/display-name": "Red Hat JBoss EAP 6.4" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-eap-6/eap64-openshift:1.7" + } } ] } @@ -390,11 +408,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss EAP 7.0", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -469,6 +487,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-eap-7/eap70-openshift:1.6" } + }, + { + "name": "1.7", + "annotations": { + "description": "JBoss EAP 7.0 S2I images.", + "iconClass": "icon-eap", + "tags": "builder,eap,javaee,java,jboss,hidden", + "supports": "eap:7.0,javaee:7,java:8", + "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git", + "sampleContextDir": "kitchensink", + "sampleRef": "7.0.0.GA", + "version": "1.7", + "openshift.io/display-name": "Red Hat JBoss EAP 7.0" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-eap-7/eap70-openshift:1.7" + } } ] } @@ -481,18 +517,18 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss EAP 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ { "name": "TP", "annotations": { - "description": "JBoss EAP 7.1 Tech Preview.", + "description": "The latest available build of the JBoss EAP 7.1 S2I image.", "iconClass": "icon-eap", "tags": "builder,eap,javaee,java,jboss,hidden", "supports": "eap:7.1,javaee:7,java:8,xpass:1.0", @@ -504,7 +540,7 @@ }, "from": { "kind": "ImageStreamTag", - "name": "1.0-TP" + "name": "1.1" } }, { @@ -524,6 +560,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-eap-7-tech-preview/eap71-openshift:1.0" } + }, + { + "name": "1.1", + "annotations": { + "description": "JBoss EAP 7.1 S2I image.", + "iconClass": "icon-eap", + "tags": "builder,eap,javaee,java,jboss,hidden", + "supports": "eap:7.1,javaee:7,java:8", + "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git", + "sampleContextDir": "kitchensink", + "sampleRef": "7.0.0.GA", + "version": "1.0", + "openshift.io/display-name": "Red Hat JBoss EAP 7.1" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-eap-7/eap71-openshift:1.1" + } } ] } @@ -535,11 +589,11 @@ "name": "jboss-decisionserver62-openshift", "annotations": { "openshift.io/display-name": "Red Hat JBoss BRMS 6.2 decision server", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -572,11 +626,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BRMS 6.3 decision server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -627,11 +681,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BRMS 6.4 decision server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -670,6 +724,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-decisionserver-6/decisionserver64-openshift:1.1" } + }, + { + "name": "1.2", + "annotations": { + "description": "Red Hat JBoss BRMS 6.4 decision server S2I images.", + "iconClass": "icon-decisionserver", + "tags": "builder,decisionserver,java,hidden", + "supports": "decisionserver:6.4,java:8", + "sampleRepo": "https://github.com/jboss-openshift/openshift-quickstarts.git", + "sampleContextDir": "decisionserver/hellorules", + "sampleRef": "1.3", + "version": "1.2", + "openshift.io/display-name": "Red Hat JBoss BRMS 6.4 decision server" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-decisionserver-6/decisionserver64-openshift:1.2" + } } ] } @@ -682,11 +754,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BPM Suite 6.3 intelligent process server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -737,11 +809,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BPM Suite 6.4 intelligent process server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -780,6 +852,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-processserver-6/processserver64-openshift:1.1" } + }, + { + "name": "1.2", + "annotations": { + "description": "Red Hat JBoss BPM Suite 6.4 intelligent process server S2I images.", + "iconClass": "icon-processserver", + "tags": "builder,processserver,java,hidden", + "supports": "processserver:6.4,java:8", + "sampleRepo": "https://github.com/jboss-openshift/openshift-quickstarts.git", + "sampleContextDir": "processserver/library", + "sampleRef": "1.3", + "version": "1.2", + "openshift.io/display-name": "Red Hat JBoss BPM Suite 6.4 intelligent process server" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-processserver-6/processserver64-openshift:1.2" + } } ] } @@ -792,11 +882,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 6.5", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -859,6 +949,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-datagrid-6/datagrid65-openshift:1.5" } + }, + { + "name": "1.6", + "annotations": { + "description": "JBoss Data Grid 6.5 S2I images.", + "iconClass": "icon-datagrid", + "tags": "datagrid,jboss,hidden", + "supports": "datagrid:6.5", + "version": "1.6", + "openshift.io/display-name": "Red Hat JBoss Data Grid 6.5" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-datagrid-6/datagrid65-openshift:1.6" + } } ] } @@ -871,11 +976,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -908,6 +1013,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-datagrid-7/datagrid71-openshift:1.1" } + }, + { + "name": "1.2", + "annotations": { + "description": "JBoss Data Grid 7.1 S2I images.", + "iconClass": "icon-datagrid", + "tags": "datagrid,jboss,hidden", + "supports": "datagrid:7.1", + "version": "1.2", + "openshift.io/display-name": "Red Hat JBoss Data Grid 7.1" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-datagrid-7/datagrid71-openshift:1.2" + } } ] } @@ -920,11 +1040,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 6.5 Client Modules for EAP", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -967,11 +1087,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 7.1 Client Modules for EAP", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1000,11 +1120,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Virtualization 6.3", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1067,6 +1187,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-datavirt-6/datavirt63-openshift:1.3" } + }, + { + "name": "1.4", + "annotations": { + "description": "Red Hat JBoss Data Virtualization 6.3 S2I images.", + "iconClass": "icon-datavirt", + "tags": "datavirt,jboss,hidden", + "supports":"datavirt:6.3", + "version": "1.4", + "openshift.io/display-name": "Red Hat JBoss Data Virtualization 6.3" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-datavirt-6/datavirt63-openshift:1.4" + } } ] } @@ -1079,11 +1214,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Virtualization 6.5 JDBC Driver Modules for EAP", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1126,11 +1261,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss A-MQ 6.2", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1223,6 +1358,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-amq-6/amq62-openshift:1.6" } + }, + { + "name": "1.7", + "annotations": { + "description": "JBoss A-MQ 6.2 broker image.", + "iconClass": "icon-amq", + "tags": "messaging,amq,jboss,hidden", + "supports":"amq:6.2,messaging", + "version": "1.7", + "openshift.io/display-name": "Red Hat JBoss A-MQ 6.2" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-amq-6/amq62-openshift:1.7" + } } ] } @@ -1235,11 +1385,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss A-MQ 6.3", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1287,6 +1437,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-amq-6/amq63-openshift:1.2" } + }, + { + "name": "1.3", + "annotations": { + "description": "JBoss A-MQ 6.3 broker image.", + "iconClass": "icon-amq", + "tags": "messaging,amq,jboss,hidden", + "supports": "amq:6.3,messaging", + "version": "1.3", + "openshift.io/display-name": "Red Hat JBoss A-MQ 6.3" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-amq-6/amq63-openshift:1.3" + } } ] } @@ -1300,11 +1465,11 @@ "description": "Red Hat SSO 7.0", "openshift.io/display-name": "Red Hat Single Sign-On 7.0", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1350,11 +1515,11 @@ "description": "Red Hat SSO 7.1", "openshift.io/display-name": "Red Hat Single Sign-On 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1402,6 +1567,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/redhat-sso-7/sso71-openshift:1.2" } + }, + { + "name": "1.3", + "annotations": { + "description": "Red Hat SSO 7.1", + "iconClass": "icon-sso", + "tags": "sso,keycloak,redhat,hidden", + "supports": "sso:7.1", + "version": "1.3", + "openshift.io/display-name": "Red Hat Single Sign-On 7.1" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/redhat-sso-7/sso71-openshift:1.3" + } } ] } @@ -1414,11 +1594,11 @@ "annotations": { "openshift.io/display-name": "Red Hat OpenJDK 8", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-basic.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-basic.json index 8f8e14cb6..134a577b6 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-basic.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-basic.json @@ -7,14 +7,14 @@ "iconClass": "icon-amq", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (Ephemeral, no SSL)" }, "name": "amq62-basic" }, "labels": { "template": "amq62-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -73,7 +73,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -197,6 +197,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -223,7 +249,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -317,7 +343,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-persistent-ssl.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-persistent-ssl.json index 96f9d616f..5a034d0ba 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-persistent-ssl.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-persistent-ssl.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "amq62-persistent-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -68,7 +68,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -91,7 +91,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -346,6 +346,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -372,7 +398,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -393,7 +419,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -502,7 +527,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -585,7 +610,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -644,7 +669,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-persistent.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-persistent.json index 67c812fb4..bc62098ee 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-persistent.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-persistent.json @@ -6,7 +6,7 @@ "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone and use persistent storage for saving messages, including message migration when the number of pods are reduced. This template doesn't feature SSL support.", "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,7 +14,7 @@ }, "labels": { "template": "amq62-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new persistent messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -64,7 +64,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -87,7 +87,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -211,6 +211,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -237,7 +263,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -341,7 +367,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -398,7 +424,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -457,7 +483,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-ssl.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-ssl.json index 9f488820c..38a291fe9 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-ssl.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq62-ssl.json @@ -6,7 +6,7 @@ "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone or in a mesh. This template supports SSL and requires usage of OpenShift secrets.", "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (Ephemeral with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "amq62-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -108,7 +108,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -328,6 +328,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -354,7 +380,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -375,7 +401,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -476,7 +501,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-basic.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-basic.json index e13530764..b72a5adb2 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-basic.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-basic.json @@ -6,7 +6,7 @@ "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone or in a mesh. This template doesn't feature SSL support.", "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss A-MQ 6.3 (Ephemeral, no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,7 +14,7 @@ }, "labels": { "template": "amq63-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -73,7 +73,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -197,6 +197,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -223,7 +249,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -317,7 +343,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-persistent-ssl.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-persistent-ssl.json index 3eedee933..e0fa53831 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-persistent-ssl.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-persistent-ssl.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.3 (with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "amq63-persistent-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -90,7 +90,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -345,6 +345,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -371,7 +397,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -392,7 +418,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -501,7 +526,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -584,7 +609,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -643,7 +668,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-persistent.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-persistent.json index 7c0aec61a..a87876ca5 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-persistent.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.3 (no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "amq63-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new persistent messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -90,7 +90,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -214,6 +214,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -240,7 +266,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -344,7 +370,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -401,7 +427,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -460,7 +486,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-ssl.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-ssl.json index a55403c79..f4c43da0e 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-ssl.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/amq63-ssl.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.3 (Ephemeral with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "amq63-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -111,7 +111,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -331,6 +331,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -357,7 +383,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -378,7 +404,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -479,7 +504,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-basic.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-basic.json index af390c13d..055287371 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-basic.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-basic.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 applications.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 (Ephemeral, no https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,7 +14,7 @@ }, "labels": { "template": "datagrid65-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\".", "parameters": [ @@ -109,6 +109,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -185,6 +191,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -228,7 +260,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -255,6 +287,11 @@ "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -262,7 +299,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -315,16 +353,16 @@ "value": "${PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-https.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-https.json index 97d02c788..66636d7d7 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-https.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-https.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 applications.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datagrid65-https", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -172,6 +172,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -272,6 +278,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -338,7 +370,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -359,13 +391,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -385,7 +421,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -459,16 +496,16 @@ "value": "${HTTPS_PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-mysql-persistent.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-mysql-persistent.json index 018132668..51bb4f047 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-mysql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-mysql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid65-mysql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -166,7 +166,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -267,6 +267,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -395,6 +401,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -461,7 +493,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -482,13 +514,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -508,7 +544,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -634,16 +671,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-mysql.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-mysql.json index 1e8ca1b51..b7914b6ab 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-mysql.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-mysql.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 and MySQL applications.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datagrid65-mysql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -257,6 +257,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +391,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -472,13 +504,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -498,7 +534,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +661,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -805,8 +842,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-postgresql-persistent.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-postgresql-persistent.json index 4a1d818c9..f77590173 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-postgresql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-postgresql-persistent.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 and PostgreSQL applications with persistent storage.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "datagrid65-postgresql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -149,7 +149,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -250,6 +250,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -376,6 +382,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -442,7 +474,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -463,13 +495,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -489,7 +525,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -615,16 +652,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-postgresql.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-postgresql.json index d97bdfa75..991bec03a 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-postgresql.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid65-postgresql.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 and PostgreSQL applications built using.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datagrid65-postgresql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -239,6 +239,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -365,6 +371,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -431,7 +463,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -452,13 +484,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -478,7 +514,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -604,16 +641,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -777,8 +814,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-basic.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-basic.json index d4b83da34..66e900045 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-basic.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-basic.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 (Ephemeral, no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "datagrid71-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\".", "parameters": [ @@ -140,6 +140,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -216,6 +222,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -259,7 +291,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -286,6 +318,11 @@ "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -293,7 +330,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -362,16 +400,16 @@ "value": "${CONTAINER_SECURITY_ROLES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-https.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-https.json index 2a46bd3a2..6d092cbc9 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-https.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-https.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-https", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -203,6 +203,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -303,6 +309,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -369,7 +401,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -390,13 +422,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -416,7 +452,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -506,16 +543,16 @@ "value": "${HTTPS_PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-mysql-persistent.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-mysql-persistent.json index 72bdf2037..96f7b4b1f 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-mysql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-mysql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-mysql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -194,7 +194,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -295,6 +295,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -423,6 +429,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -489,7 +521,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -510,13 +542,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -536,7 +572,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -678,16 +715,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-mysql.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-mysql.json index 99f97a7c7..690fe1575 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-mysql.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-mysql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-mysql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -288,6 +288,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -416,6 +422,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -482,7 +514,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -503,13 +535,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -529,7 +565,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -671,16 +708,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -852,8 +889,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-partition.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-partition.json index baf17dbbb..06e9f13e7 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-partition.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-partition.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 (Ephemeral, no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "datagrid71-partition", - "xpaas": "1.4.0" + "xpaas": "1.4.8" }, "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\".", "parameters": [ @@ -145,7 +145,7 @@ "displayName": "Datagrid Volume Size", "description": "Size of the volume used by Datagrid for persisting metadata.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -154,6 +154,12 @@ "name": "DATAGRID_SPLIT", "value": "true", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -254,6 +260,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -297,7 +329,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -324,6 +356,11 @@ "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "mountPath": "/opt/datagrid/standalone/partitioned_data", @@ -337,7 +374,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -395,16 +433,16 @@ "value": "${PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-postgresql-persistent.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-postgresql-persistent.json index 5cd6e854a..49f2a1c25 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-postgresql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-postgresql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-postgresql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -176,7 +176,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -277,6 +277,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -403,6 +409,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -469,7 +501,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -490,13 +522,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -516,7 +552,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -658,16 +695,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-postgresql.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-postgresql.json index 505d67750..f9839389a 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-postgresql.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datagrid71-postgresql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-postgresql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -270,6 +270,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -396,6 +402,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +494,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -483,13 +515,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -509,7 +545,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -651,16 +688,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -824,8 +861,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-basic-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-basic-s2i.json index b6885d6f6..275500830 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-basic-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-datavirt", "description": "Application template for JBoss Data Virtualization 6.3 services built using S2I.", "tags": "jdv,datavirt,database,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Virtualization 6.3 (no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datavirt63-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the secret named ${CONFIGURATION_NAME} containing the datasource configuration details required by the deployed VDB(s).", + "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the secret named ${CONFIGURATION_NAME} containing the datasource configuration details required by the deployed VDB(s).", "parameters": [ { "description": "The name for the application.", @@ -61,13 +61,6 @@ "required": false }, { - "description": "The name of the service account to use for the deployment. The service account should be configured to allow usage of the secret specified by CONFIGURATION_NAME.", - "displayName": "Service Account Name", - "name": "SERVICE_ACCOUNT_NAME", - "value": "datavirt-service-account", - "required": true - }, - { "description": "Username associated with Teiid data service.", "displayName": "Teiid Username", "name": "TEIID_USERNAME", @@ -157,6 +150,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -196,6 +195,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -268,7 +293,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datavirt63-openshift:1.3" + "name": "jboss-datavirt63-openshift:1.4" }, "env": [ { @@ -372,13 +397,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -393,7 +422,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -433,16 +463,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "JGROUPS_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-extensions-support-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-extensions-support-s2i.json index a06f714a7..f5f4532b6 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-extensions-support-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-extensions-support-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datavirt", "tags": "jdv,datavirt,database,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Virtualization 6.3 (with SSL and Extensions)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Virtualization application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datavirt63-extensions-support-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "description": "The name for the application.", @@ -106,13 +106,6 @@ "required": false }, { - "description": "The name of the service account to use for the deployment. The service account should be configured to allow usage of the secret(s) specified by CONFIGURATION_NAME, HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "displayName": "Service Account Name", - "name": "SERVICE_ACCOUNT_NAME", - "value": "datavirt-service-account", - "required": true - }, - { "description": "The name of the secret containing the keystore to be used for serving secure content.", "displayName": "Server Keystore Secret Name", "name": "HTTPS_SECRET", @@ -265,6 +258,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -514,7 +539,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datavirt63-openshift:1.3" + "name": "jboss-datavirt63-openshift:1.4" }, "env": [ { @@ -627,13 +652,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -658,7 +687,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -713,16 +743,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-secure-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-secure-s2i.json index 1758b1be0..202a57a1e 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-secure-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/datavirt63-secure-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datavirt", "tags": "jdv,datavirt,database,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Virtualization 6.3 (with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Virtualization application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datavirt63-secure-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "description": "The name for the application.", @@ -78,13 +78,6 @@ "required": false }, { - "description": "The name of the service account to use for the deployment. The service account should be configured to allow usage of the secret(s) specified by CONFIGURATION_NAME, HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "displayName": "Service Account Name", - "name": "SERVICE_ACCOUNT_NAME", - "value": "datavirt-service-account", - "required": true - }, - { "description": "The name of the secret containing the keystore to be used for serving secure content.", "displayName": "Server Keystore Secret Name", "name": "HTTPS_SECRET", @@ -378,6 +371,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -432,6 +431,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -556,7 +581,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datavirt63-openshift:1.3" + "name": "jboss-datavirt63-openshift:1.4" }, "env": [ { @@ -660,13 +685,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -691,7 +720,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -746,16 +776,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-amq-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-amq-s2i.json index 3006a7265..231c597f9 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-amq-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-decisionserver", "tags": "decisionserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BRMS 6.4 decision server + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BRMS decision server A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "decisionserver64-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BRMS/A-MQ application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"decisionserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BRMS/A-MQ application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -182,7 +182,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -227,6 +227,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +311,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -396,7 +428,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-decisionserver64-openshift:1.1" + "name": "jboss-decisionserver64-openshift:1.2" } } }, @@ -473,13 +505,17 @@ } }, "spec": { - "serviceAccountName": "decisionserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "decisionserver-keystore-volume", @@ -494,7 +530,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -630,7 +667,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -727,7 +764,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-basic-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-basic-s2i.json index eaee9c1a5..6ed3c8a83 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-basic-s2i.json @@ -6,14 +6,14 @@ "description": "Application template for Red Hat JBoss BRMS 6.4 decision server applications built using S2I.", "iconClass": "icon-decisionserver", "tags": "decisionserver,jboss,xpaas", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss BRMS 6.4 decision server (no https)" }, "name": "decisionserver64-basic-s2i" }, "labels": { "template": "decisionserver64-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new BRMS application has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}.", "parameters": [ @@ -131,6 +131,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -227,7 +233,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-decisionserver64-openshift:1.1" + "name": "jboss-decisionserver64-openshift:1.2" } } }, @@ -310,6 +316,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -317,7 +328,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-https-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-https-s2i.json index cb6eb1706..a57a30862 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/decisionserver64-https-s2i.json @@ -6,7 +6,7 @@ "description": "Application template for Red Hat JBoss BRMS 6.4 decision server HTTPS applications built using S2I.", "iconClass": "icon-decisionserver", "tags": "decisionserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BRMS 6.4 decision server (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BRMS decision server application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "decisionserver64-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BRMS application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. Please be sure to create the \"decisionserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BRMS application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -185,6 +185,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -328,7 +334,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-decisionserver64-openshift:1.1" + "name": "jboss-decisionserver64-openshift:1.2" } } }, @@ -405,13 +411,17 @@ } }, "spec": { - "serviceAccountName": "decisionserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "decisionserver-keystore-volume", @@ -426,7 +436,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-amq-persistent-s2i.json index 9ebbfd06c..de62b246e 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-amq-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-amq-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -113,13 +113,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -174,7 +167,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -262,6 +255,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -340,6 +365,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -427,7 +478,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -504,13 +555,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -530,7 +585,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -597,16 +653,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -704,7 +760,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -823,7 +879,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-amq-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-amq-s2i.json index 6b0e1a30c..52824aa0f 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-amq-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + A-MQ (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -160,7 +153,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -248,6 +241,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -326,6 +351,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -413,7 +464,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -490,13 +541,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -516,7 +571,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -583,16 +639,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -687,7 +743,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -796,7 +852,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-basic-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-basic-s2i.json index 17fdd2333..ced21226f 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "eap64-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new EAP 6 based application has been created in your project.", "parameters": [ @@ -128,6 +128,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -156,6 +162,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -220,7 +252,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -303,6 +335,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -310,7 +347,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -340,16 +378,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HORNETQ_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-https-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-https-s2i.json index 8616ac04f..1702f493c 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-https-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -205,6 +198,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -257,6 +256,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -344,7 +369,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -421,13 +446,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,7 +476,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -482,16 +512,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mongodb-persistent-s2i.json index ea3b46d78..a56fe4ed2 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mongodb-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MongoDB (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -293,6 +286,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -371,6 +370,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -458,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -535,13 +560,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -561,7 +590,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -632,16 +662,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mongodb-s2i.json index 4aa9be281..cb92bac64 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mongodb-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MongoDB (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -286,6 +279,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -364,6 +363,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +476,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -528,13 +553,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -554,7 +583,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -625,16 +655,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -803,8 +833,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mysql-persistent-s2i.json index 304f11348..a6dd17d09 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mysql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -297,6 +290,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -375,6 +374,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -539,13 +564,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -565,7 +594,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -636,16 +666,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mysql-s2i.json index bc1cdaca5..936f5d607 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -290,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -368,6 +367,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -455,7 +480,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -532,13 +557,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -558,7 +587,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -629,16 +659,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -815,8 +845,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-postgresql-persistent-s2i.json index d2e6ea25b..53e9a38c8 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss EAP 6.4 + PostgreSQL (Persistent with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -279,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -357,6 +356,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -444,7 +469,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -521,13 +546,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -547,7 +576,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -618,16 +648,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-postgresql-s2i.json index 7a2d4009e..a13e68daf 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -272,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -437,7 +462,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -514,13 +539,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -540,7 +569,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -611,16 +641,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -789,8 +819,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-sso-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-sso-s2i.json index 368f147f4..2c5e16f40 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-sso-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-sso-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + Single Sign-On (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 Single Sign-On application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-sso-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 based application with SSL and SSO support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 based application with SSL and SSO support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -333,6 +326,12 @@ "name": "MAVEN_MIRROR_URL", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +384,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" }, "env": [ { @@ -553,13 +578,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "sso-saml-keystore-volume", @@ -589,7 +618,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +654,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HOSTNAME_HTTP", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-third-party-db-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-third-party-db-s2i.json index 701f4eee6..75c2c466c 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-third-party-db-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-third-party-db-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss EAP 6.4 (with https, DB drivers)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 DB application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-third-party-db-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -72,7 +72,7 @@ }, { "displayName": "Drivers ImageStreamTag", - "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-openshift:1.0-driver", + "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-driver-openshift:1.1", "name": "EXTENSIONS_IMAGE", "value": "jboss-datavirt63-driver-openshift:1.1", "required": true @@ -106,13 +106,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -233,6 +226,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-https", @@ -391,7 +416,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -478,13 +503,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -509,7 +538,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -544,16 +574,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "ENV_FILES", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-tx-recovery-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-tx-recovery-s2i.json new file mode 100644 index 000000000..de5ebe326 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap64-tx-recovery-s2i.json @@ -0,0 +1,605 @@ +{ + "kind": "Template", + "apiVersion": "v1", + "metadata": { + "annotations": { + "iconClass": "icon-eap", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 6.4 (tx recovery)", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "description": "An example EAP 6 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", + "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 6.4 based application, including a build configuration, application deployment configuration and insecure communication using http. The template also demonstrates how to enable automated transaction recovery on scale down of application pods. Automated transaction recovery is currently Technology Preview.", + "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/", + "template.openshift.io/support-url": "https://access.redhat.com" + }, + "name": "eap64-tx-recovery-s2i" + }, + "labels": { + "template": "eap64-tx-recovery-s2i", + "xpaas": "1.4.8" + }, + "message": "A new EAP 6 based application has been created in your project.", + "parameters": [ + { + "displayName": "Application Name", + "description": "The name for the application.", + "name": "APPLICATION_NAME", + "value": "eap-app", + "required": true + }, + { + "displayName": "Custom http Route Hostname", + "description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>", + "name": "HOSTNAME_HTTP", + "value": "", + "required": false + }, + { + "displayName": "Git Repository URL", + "description": "Git source URI for application", + "name": "SOURCE_REPOSITORY_URL", + "value": "https://github.com/jboss-developer/jboss-eap-quickstarts", + "required": true + }, + { + "displayName": "Git Reference", + "description": "Git branch/tag reference", + "name": "SOURCE_REPOSITORY_REF", + "value": "6.4.x", + "required": false + }, + { + "displayName": "Context Directory", + "description": "Path within Git project to build; empty for root project directory.", + "name": "CONTEXT_DIR", + "value": "kitchensink", + "required": false + }, + { + "displayName": "Queues", + "description": "Queue names", + "name": "HORNETQ_QUEUES", + "value": "", + "required": false + }, + { + "displayName": "Topics", + "description": "Topic names", + "name": "HORNETQ_TOPICS", + "value": "", + "required": false + }, + { + "displayName": "HornetQ Password", + "description": "HornetQ cluster admin password", + "name": "HORNETQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Github Webhook Secret", + "description": "GitHub trigger secret", + "name": "GITHUB_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Generic Webhook Secret", + "description": "Generic build trigger secret", + "name": "GENERIC_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "ImageStream Namespace", + "description": "Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.", + "name": "IMAGE_STREAM_NAMESPACE", + "value": "openshift", + "required": true + }, + { + "displayName": "JGroups Cluster Password", + "description": "JGroups cluster password", + "name": "JGROUPS_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Deploy Exploded Archives", + "description": "Controls whether exploded deployment content should be automatically deployed", + "name": "AUTO_DEPLOY_EXPLODED", + "value": "false", + "required": false + }, + { + "displayName": "Maven mirror URL", + "description": "Maven mirror to use for S2I builds", + "name": "MAVEN_MIRROR_URL", + "value": "", + "required": false + }, + { + "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.", + "name": "ARTIFACT_DIR", + "value": "", + "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false + }, + { + "displayName": "EAP Volume Size", + "description": "Size of the volume used by EAP for persisting data.", + "name": "VOLUME_CAPACITY", + "value": "1Gi", + "required": true + }, + { + "displayName": "Split the data directory?", + "description": "Split the data directory for each node in a cluster.", + "name": "SPLIT_DATA", + "value": "true", + "required": false + } + ], + "objects": [ + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "ports": [ + { + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "The web server's http port." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Route", + "apiVersion": "v1", + "id": "${APPLICATION_NAME}-http", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "Route for application's http service." + } + }, + "spec": { + "host": "${HOSTNAME_HTTP}", + "to": { + "name": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "env": [ + { + "name": "MAVEN_MIRROR_URL", + "value": "${MAVEN_MIRROR_URL}" + }, + { + "name": "ARTIFACT_DIR", + "value": "${ARTIFACT_DIR}" + } + ], + "forcePull": true, + "from": { + "kind": "ImageStreamTag", + "namespace": "${IMAGE_STREAM_NAMESPACE}", + "name": "jboss-eap64-openshift:1.7" + } + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + }, + "triggers": [ + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + }, + { + "type": "ImageChange", + "imageChange": {} + }, + { + "type": "ConfigChange" + } + ] + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 60, + "containers": [ + { + "name": "${APPLICATION_NAME}", + "image": "${APPLICATION_NAME}", + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "livenessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/livenessProbe.sh" + ] + }, + "initialDelaySeconds": 60 + }, + "readinessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/readinessProbe.sh" + ] + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "HORNETQ_CLUSTER_PASSWORD", + "value": "${HORNETQ_CLUSTER_PASSWORD}" + }, + { + "name": "HORNETQ_QUEUES", + "value": "${HORNETQ_QUEUES}" + }, + { + "name": "HORNETQ_TOPICS", + "value": "${HORNETQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}-migration" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-migration" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}-migration", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 60, + "containers": [ + { + "name": "${APPLICATION_NAME}-migration", + "image": "${APPLICATION_NAME}", + "command": [ + "/opt/eap/bin/openshift-migrate.sh" + ], + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "HORNETQ_CLUSTER_PASSWORD", + "value": "${HORNETQ_CLUSTER_PASSWORD}" + }, + { + "name": "HORNETQ_QUEUES", + "value": "${HORNETQ_QUEUES}" + }, + { + "name": "HORNETQ_TOPICS", + "value": "${HORNETQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": { + "name": "${APPLICATION_NAME}-eap-claim", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "accessModes": [ + "ReadWriteMany" + ], + "resources": { + "requests": { + "storage": "${VOLUME_CAPACITY}" + } + } + } + } + ] +} diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-amq-persistent-s2i.json index d16756bad..eb6929a2c 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-amq-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-amq-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -113,13 +113,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -174,7 +167,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -262,6 +255,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -340,6 +365,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -427,7 +478,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -504,13 +555,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -530,7 +585,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -597,16 +653,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -704,7 +760,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -823,7 +879,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-amq-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-amq-s2i.json index 70323214f..ca0efa2d9 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-amq-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -160,7 +153,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -248,6 +241,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -326,6 +351,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -413,7 +464,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -490,13 +541,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -516,7 +571,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -583,16 +639,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -687,7 +743,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -796,7 +852,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-basic-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-basic-s2i.json index 312db1971..a0d781a4d 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "eap70-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new EAP 7 based application has been created in your project.", "parameters": [ @@ -128,6 +128,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -156,6 +162,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -220,7 +252,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -303,6 +335,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -310,7 +347,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -340,16 +378,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "MQ_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-https-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-https-s2i.json index 7c3b35f5a..0b7d09001 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-https-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -205,6 +198,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -257,6 +256,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -344,7 +369,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -421,13 +446,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,7 +476,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -482,16 +512,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mongodb-persistent-s2i.json index 205e451c7..d6a154a38 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mongodb-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + MongoDB (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -293,6 +286,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -371,6 +370,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -458,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -535,13 +560,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -561,7 +590,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -632,16 +662,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mongodb-s2i.json index 63b57d5dc..31a2e161f 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mongodb-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Boss EAP 7.0 + MongoDB (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -286,6 +279,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -364,6 +363,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +476,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -528,13 +553,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -554,7 +583,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -625,16 +655,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -803,8 +833,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mysql-persistent-s2i.json index f9f77f22c..d487cfc40 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mysql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -297,6 +290,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -375,6 +374,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -539,13 +564,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -565,7 +594,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -636,16 +666,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mysql-s2i.json index 8ea433a80..ee4e8f01d 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -290,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -368,6 +367,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -455,7 +480,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -532,13 +557,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -558,7 +587,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -629,16 +659,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -819,8 +849,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-postgresql-persistent-s2i.json index a2bc9d3b9..aba0c8c64 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + PostgreSQL (Persistent with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -279,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -357,6 +356,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -444,7 +469,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -521,13 +546,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -547,7 +576,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -618,16 +648,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-postgresql-s2i.json index 66b0c737d..bf7c6cf89 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -272,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -437,7 +462,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -514,13 +539,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -540,7 +569,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -611,16 +641,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -793,8 +823,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-sso-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-sso-s2i.json index 2201ff7f3..3601e2354 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-sso-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-sso-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + Single Sign-On (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 Single Sign-On application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-sso-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -86,13 +86,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -333,6 +326,12 @@ "name": "MAVEN_MIRROR_URL", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +384,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" }, "env": [ { @@ -553,13 +578,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "sso-saml-keystore-volume", @@ -589,7 +618,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +654,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HOSTNAME_HTTP", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-third-party-db-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-third-party-db-s2i.json index 3ca69f6c7..08b2717be 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-third-party-db-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-third-party-db-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 (with https, DB drivers)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 DB application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-third-party-db-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -72,7 +72,7 @@ }, { "displayName": "Drivers ImageStreamTag", - "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-openshift:1.0-driver", + "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-driver-openshift:1.1", "name": "EXTENSIONS_IMAGE", "value": "jboss-datavirt63-driver-openshift:1.1", "required": true @@ -106,13 +106,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -233,6 +226,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -285,6 +284,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -391,7 +416,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -478,13 +503,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -509,7 +538,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -544,16 +574,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "ENV_FILES", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-tx-recovery-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-tx-recovery-s2i.json new file mode 100644 index 000000000..4edfb1336 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap70-tx-recovery-s2i.json @@ -0,0 +1,605 @@ +{ + "kind": "Template", + "apiVersion": "v1", + "metadata": { + "annotations": { + "iconClass": "icon-eap", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 7.0 (tx recovery)", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", + "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 7.0 based application, including a build configuration, application deployment configuration and insecure communication using http. The template also demonstrates how to enable automated transaction recovery on scale down of application pods. Automated transaction recovery is currently Technology Preview.", + "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/", + "template.openshift.io/support-url": "https://access.redhat.com" + }, + "name": "eap70-tx-recovery-s2i" + }, + "labels": { + "template": "eap70-tx-recovery-s2i", + "xpaas": "1.4.8" + }, + "message": "A new EAP 7 based application has been created in your project.", + "parameters": [ + { + "displayName": "Application Name", + "description": "The name for the application.", + "name": "APPLICATION_NAME", + "value": "eap-app", + "required": true + }, + { + "displayName": "Custom http Route Hostname", + "description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>", + "name": "HOSTNAME_HTTP", + "value": "", + "required": false + }, + { + "displayName": "Git Repository URL", + "description": "Git source URI for application", + "name": "SOURCE_REPOSITORY_URL", + "value": "https://github.com/jboss-developer/jboss-eap-quickstarts", + "required": true + }, + { + "displayName": "Git Reference", + "description": "Git branch/tag reference", + "name": "SOURCE_REPOSITORY_REF", + "value": "7.0.0.GA", + "required": false + }, + { + "displayName": "Context Directory", + "description": "Path within Git project to build; empty for root project directory.", + "name": "CONTEXT_DIR", + "value": "kitchensink", + "required": false + }, + { + "displayName": "Queues", + "description": "Queue names", + "name": "MQ_QUEUES", + "value": "", + "required": false + }, + { + "displayName": "Topics", + "description": "Topic names", + "name": "MQ_TOPICS", + "value": "", + "required": false + }, + { + "displayName": "A-MQ cluster password", + "description": "A-MQ cluster admin password", + "name": "MQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Github Webhook Secret", + "description": "GitHub trigger secret", + "name": "GITHUB_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Generic Webhook Secret", + "description": "Generic build trigger secret", + "name": "GENERIC_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "ImageStream Namespace", + "description": "Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.", + "name": "IMAGE_STREAM_NAMESPACE", + "value": "openshift", + "required": true + }, + { + "displayName": "JGroups Cluster Password", + "description": "JGroups cluster password", + "name": "JGROUPS_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Deploy Exploded Archives", + "description": "Controls whether exploded deployment content should be automatically deployed", + "name": "AUTO_DEPLOY_EXPLODED", + "value": "false", + "required": false + }, + { + "displayName": "Maven mirror URL", + "description": "Maven mirror to use for S2I builds", + "name": "MAVEN_MIRROR_URL", + "value": "", + "required": false + }, + { + "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.", + "name": "ARTIFACT_DIR", + "value": "", + "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false + }, + { + "displayName": "EAP Volume Size", + "description": "Size of the volume used by EAP for persisting data.", + "name": "VOLUME_CAPACITY", + "value": "1Gi", + "required": true + }, + { + "displayName": "Split the data directory?", + "description": "Split the data directory for each node in a cluster.", + "name": "SPLIT_DATA", + "value": "true", + "required": false + } + ], + "objects": [ + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "ports": [ + { + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "The web server's http port." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Route", + "apiVersion": "v1", + "id": "${APPLICATION_NAME}-http", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "Route for application's http service." + } + }, + "spec": { + "host": "${HOSTNAME_HTTP}", + "to": { + "name": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "env": [ + { + "name": "MAVEN_MIRROR_URL", + "value": "${MAVEN_MIRROR_URL}" + }, + { + "name": "ARTIFACT_DIR", + "value": "${ARTIFACT_DIR}" + } + ], + "forcePull": true, + "from": { + "kind": "ImageStreamTag", + "namespace": "${IMAGE_STREAM_NAMESPACE}", + "name": "jboss-eap70-openshift:1.7" + } + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + }, + "triggers": [ + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + }, + { + "type": "ImageChange", + "imageChange": {} + }, + { + "type": "ConfigChange" + } + ] + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}", + "image": "${APPLICATION_NAME}", + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "livenessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/livenessProbe.sh" + ] + }, + "initialDelaySeconds": 60 + }, + "readinessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/readinessProbe.sh" + ] + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}-migration" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-migration" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}-migration", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}-migration", + "image": "${APPLICATION_NAME}", + "command": [ + "/opt/eap/bin/openshift-migrate.sh" + ], + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": { + "name": "${APPLICATION_NAME}-eap-claim", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "accessModes": [ + "ReadWriteMany" + ], + "resources": { + "requests": { + "storage": "${VOLUME_CAPACITY}" + } + } + } + } + ] +} diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-amq-persistent-s2i.json index dbc1a8013..d5e785f69 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-amq-persistent-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-amq-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -113,13 +113,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -174,7 +167,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -262,6 +255,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -340,6 +365,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -427,7 +478,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -504,13 +555,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -530,7 +585,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -597,16 +653,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -704,7 +760,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -823,7 +879,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-amq-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-amq-s2i.json index 6e330eae9..16d19d540 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-amq-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,xpaas,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss,hidden", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -160,7 +153,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -248,6 +241,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -326,6 +351,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -413,7 +464,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -490,13 +541,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -516,7 +571,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -583,16 +639,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -687,7 +743,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -796,7 +852,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-basic-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-basic-s2i.json index 892ec468c..ece7c7310 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-basic-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "eap71-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new EAP 7 based application has been created in your project.", "parameters": [ @@ -128,6 +128,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -156,6 +162,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -220,7 +252,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -303,6 +335,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -310,7 +347,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -340,16 +378,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "MQ_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-https-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-https-s2i.json index 7426830ec..515e69e83 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-https-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -205,6 +198,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -257,6 +256,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -344,7 +369,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -421,13 +446,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,7 +476,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -482,16 +512,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mongodb-persistent-s2i.json index fb7f27acf..97ed818d3 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mongodb-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MongoDB (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -293,6 +286,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -371,6 +370,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -458,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -535,13 +560,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -561,7 +590,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -632,16 +662,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mongodb-s2i.json index 915c9ba0a..b59ca2b5e 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mongodb-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MongoDB (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -286,6 +279,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -364,6 +363,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +476,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -528,13 +553,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -554,7 +583,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -625,16 +655,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -803,8 +833,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mysql-persistent-s2i.json index 6af9e5f50..aee9966a5 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mysql-persistent-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -297,6 +290,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -375,6 +374,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -539,13 +564,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -565,7 +594,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -636,16 +666,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mysql-s2i.json index c7d14d3c7..d1062329e 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -290,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -368,6 +367,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -455,7 +480,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -532,13 +557,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -558,7 +587,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -629,16 +659,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -819,8 +849,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-postgresql-persistent-s2i.json index a8d77b0ab..e4c306478 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-postgresql-persistent-s2i.json @@ -4,9 +4,9 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", - "openshift.io/display-name": "JBoss EAP 7.1 + PostgreSQL (with https)", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 7.1 + PostgreSQL (Persistent with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 7.1 based application, including a build configuration, application deployment configuration, database deployment configuration for PostgreSQL using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -279,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -357,6 +356,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -444,7 +469,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -521,13 +546,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -547,7 +576,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -618,16 +648,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-postgresql-s2i.json index d87f05ea8..ef5402199 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -272,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -437,7 +462,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -514,13 +539,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -540,7 +569,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -611,16 +641,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -793,8 +823,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-sso-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-sso-s2i.json index 96b3dffc9..3e5c346bf 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-sso-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-sso-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + Single Sign-On (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 Single Sign-On application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-sso-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -66,22 +66,23 @@ { "displayName": "Queues", "description": "Queue names", - "name": "HORNETQ_QUEUES", + "name": "MQ_QUEUES", "value": "", "required": false }, { "displayName": "Topics", "description": "Topic names", - "name": "HORNETQ_TOPICS", + "name": "MQ_TOPICS", "value": "", "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", + "displayName": "A-MQ cluster password", + "description": "A-MQ cluster admin password", + "name": "MQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", "required": true }, { @@ -120,14 +121,6 @@ "required": false }, { - "displayName": "HornetQ Password", - "description": "HornetQ cluster admin password", - "name": "HORNETQ_CLUSTER_PASSWORD", - "from": "[a-zA-Z0-9]{8}", - "generate": "expression", - "required": true - }, - { "displayName": "Github Webhook Secret", "description": "GitHub trigger secret", "name": "GITHUB_WEBHOOK_SECRET", @@ -333,6 +326,12 @@ "name": "MAVEN_MIRROR_URL", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +384,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" }, "env": [ { @@ -553,13 +578,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "sso-saml-keystore-volume", @@ -589,7 +618,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +654,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HOSTNAME_HTTP", @@ -664,16 +694,16 @@ "value": "${HTTPS_PASSWORD}" }, { - "name": "HORNETQ_CLUSTER_PASSWORD", - "value": "${HORNETQ_CLUSTER_PASSWORD}" + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" }, { - "name": "HORNETQ_QUEUES", - "value": "${HORNETQ_QUEUES}" + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" }, { - "name": "HORNETQ_TOPICS", - "value": "${HORNETQ_TOPICS}" + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" }, { "name": "JGROUPS_ENCRYPT_SECRET", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-third-party-db-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-third-party-db-s2i.json index a2a7264fb..41644db89 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-third-party-db-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-third-party-db-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 (with https, DB drivers)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 DB application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-third-party-db-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -72,7 +72,7 @@ }, { "displayName": "Drivers ImageStreamTag", - "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-openshift:1.0-driver", + "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-driver-openshift:1.1", "name": "EXTENSIONS_IMAGE", "value": "jboss-datavirt63-driver-openshift:1.1", "required": true @@ -106,13 +106,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -233,6 +226,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -285,6 +284,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -391,7 +416,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -478,13 +503,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -509,7 +538,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -544,16 +574,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "ENV_FILES", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-tx-recovery-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-tx-recovery-s2i.json new file mode 100644 index 000000000..e2525c7e7 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/eap71-tx-recovery-s2i.json @@ -0,0 +1,605 @@ +{ + "kind": "Template", + "apiVersion": "v1", + "metadata": { + "annotations": { + "iconClass": "icon-eap", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 7.1 (tx recovery)", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", + "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 7.1 based application, including a build configuration, application deployment configuration and insecure communication using http. The template also demonstrates how to enable automated transaction recovery on scale down of application pods. Automated transaction recovery is currently Technology Preview.", + "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/", + "template.openshift.io/support-url": "https://access.redhat.com" + }, + "name": "eap71-tx-recovery-s2i" + }, + "labels": { + "template": "eap71-tx-recovery-s2i", + "xpaas": "1.4.8" + }, + "message": "A new EAP 7 based application has been created in your project.", + "parameters": [ + { + "displayName": "Application Name", + "description": "The name for the application.", + "name": "APPLICATION_NAME", + "value": "eap-app", + "required": true + }, + { + "displayName": "Custom http Route Hostname", + "description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>", + "name": "HOSTNAME_HTTP", + "value": "", + "required": false + }, + { + "displayName": "Git Repository URL", + "description": "Git source URI for application", + "name": "SOURCE_REPOSITORY_URL", + "value": "https://github.com/jboss-developer/jboss-eap-quickstarts", + "required": true + }, + { + "displayName": "Git Reference", + "description": "Git branch/tag reference", + "name": "SOURCE_REPOSITORY_REF", + "value": "7.0.0.GA", + "required": false + }, + { + "displayName": "Context Directory", + "description": "Path within Git project to build; empty for root project directory.", + "name": "CONTEXT_DIR", + "value": "kitchensink", + "required": false + }, + { + "displayName": "Queues", + "description": "Queue names", + "name": "MQ_QUEUES", + "value": "", + "required": false + }, + { + "displayName": "Topics", + "description": "Topic names", + "name": "MQ_TOPICS", + "value": "", + "required": false + }, + { + "displayName": "A-MQ cluster password", + "description": "A-MQ cluster admin password", + "name": "MQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Github Webhook Secret", + "description": "GitHub trigger secret", + "name": "GITHUB_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Generic Webhook Secret", + "description": "Generic build trigger secret", + "name": "GENERIC_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "ImageStream Namespace", + "description": "Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.", + "name": "IMAGE_STREAM_NAMESPACE", + "value": "openshift", + "required": true + }, + { + "displayName": "JGroups Cluster Password", + "description": "JGroups cluster password", + "name": "JGROUPS_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Deploy Exploded Archives", + "description": "Controls whether exploded deployment content should be automatically deployed", + "name": "AUTO_DEPLOY_EXPLODED", + "value": "false", + "required": false + }, + { + "displayName": "Maven mirror URL", + "description": "Maven mirror to use for S2I builds", + "name": "MAVEN_MIRROR_URL", + "value": "", + "required": false + }, + { + "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.", + "name": "ARTIFACT_DIR", + "value": "", + "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false + }, + { + "displayName": "EAP Volume Size", + "description": "Size of the volume used by EAP for persisting data.", + "name": "VOLUME_CAPACITY", + "value": "1Gi", + "required": true + }, + { + "displayName": "Split the data directory?", + "description": "Split the data directory for each node in a cluster.", + "name": "SPLIT_DATA", + "value": "true", + "required": false + } + ], + "objects": [ + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "ports": [ + { + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "The web server's http port." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Route", + "apiVersion": "v1", + "id": "${APPLICATION_NAME}-http", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "Route for application's http service." + } + }, + "spec": { + "host": "${HOSTNAME_HTTP}", + "to": { + "name": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "env": [ + { + "name": "MAVEN_MIRROR_URL", + "value": "${MAVEN_MIRROR_URL}" + }, + { + "name": "ARTIFACT_DIR", + "value": "${ARTIFACT_DIR}" + } + ], + "forcePull": true, + "from": { + "kind": "ImageStreamTag", + "namespace": "${IMAGE_STREAM_NAMESPACE}", + "name": "jboss-eap71-openshift:1.1" + } + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + }, + "triggers": [ + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + }, + { + "type": "ImageChange", + "imageChange": {} + }, + { + "type": "ConfigChange" + } + ] + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}", + "image": "${APPLICATION_NAME}", + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "livenessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/livenessProbe.sh" + ] + }, + "initialDelaySeconds": 60 + }, + "readinessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/readinessProbe.sh" + ] + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}-migration" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-migration" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}-migration", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}-migration", + "image": "${APPLICATION_NAME}", + "command": [ + "/opt/eap/bin/openshift-migrate.sh" + ], + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": { + "name": "${APPLICATION_NAME}-eap-claim", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "accessModes": [ + "ReadWriteMany" + ], + "resources": { + "requests": { + "storage": "${VOLUME_CAPACITY}" + } + } + } + } + ] +} diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-basic-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-basic-s2i.json index 42e352538..146cbeb0e 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-basic-s2i.json @@ -7,14 +7,14 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 (no https)" }, "name": "jws31-tomcat7-basic-s2i" }, "labels": { "template": "jws31-tomcat7-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new JWS application for Apache Tomcat 7 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}.", "parameters": [ diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-https-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-https-s2i.json index b0a81d9c3..8de78d6b6 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-https-s2i.json @@ -7,7 +7,7 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Web Server application configured for use with https. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 (with https)", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 7 based application, including a build configuration, and application deployment configuration. This also illustrations how to connect to the web applicaiton using https.", "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-web-server/", @@ -18,9 +18,9 @@ }, "labels": { "template": "jws31-tomcat7-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -359,7 +359,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json index 565f97822..97b0df4c3 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + MongoDB (with https)", "description": "An example JBoss Web Server application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 7 based application, including a build configuration, application deployment configuration, database deployment configuration for MongoDB using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "jws31-tomcat7-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -472,7 +472,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mongodb-s2i.json index fc473f5c3..28155b34b 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mongodb-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MongoDB applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + MongoDB (Ephemeral with https)" }, "name": "jws31-tomcat7-mongodb-s2i" }, "labels": { "template": "jws31-tomcat7-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -462,7 +462,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -664,8 +663,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json index 1223acd0f..0a87c85a9 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss Web Server 3.1 Apache Tomcat 7 + MySQL (with https)", "description": "An example JBoss Web Server application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 7 based application, including a build configuration, application deployment configuration, database deployment configuration for MySQL using persistence and secure communication using https.", @@ -18,9 +18,9 @@ }, "labels": { "template": "jws31-tomcat7-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -82,7 +82,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -477,7 +477,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mysql-s2i.json index 39becd41e..b77f0cc22 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-mysql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MySQL applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + MySQL (Ephemeral with https)" }, "name": "jws31-tomcat7-mysql-s2i" }, "labels": { "template": "jws31-tomcat7-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -466,7 +466,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -667,8 +666,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json index 77f4f8c9f..4fabc2cb4 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + PostgreSQL (with https)", "description": "An example JBoss Web Server application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, application deployment configuration, database deployment configuration for PostgreSQL using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "jws31-tomcat7-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -458,7 +458,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-postgresql-s2i.json index 6d1d7aef7..64eaff560 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat7-postgresql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS PostgreSQL applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + PostgreSQL (Ephemeral with https)" }, "name": "jws31-tomcat7-postgresql-s2i" }, "labels": { "template": "jws31-tomcat7-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -448,7 +448,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -641,8 +640,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-basic-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-basic-s2i.json index 9e7dc3488..5cc2a565f 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-basic-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 (no https)", "description": "An example JBoss Web Server application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, and an application deployment configuration.", @@ -17,7 +17,7 @@ }, "labels": { "template": "jws31-tomcat8-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new JWS application for Apache Tomcat 8 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}.", "parameters": [ diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-https-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-https-s2i.json index 8fd5d9fab..9d197649b 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-https-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 (with https)", "description": "An example JBoss Web Server application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, application deployment configuration, and secure communication using https.", @@ -18,9 +18,9 @@ }, "labels": { "template": "jws31-tomcat8-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -359,7 +359,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json index f4b11ccfa..51bd9e7cc 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json @@ -4,7 +4,7 @@ "metadata": { "annotations": { "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MongoDB (with https)", @@ -16,10 +16,10 @@ }, "name": "jws31-tomcat8-mongodb-persistent-s2i" }, - "message": "A new persistent JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "labels": { "template": "jws31-tomcat8-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "parameters": [ { @@ -82,7 +82,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -473,7 +473,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mongodb-s2i.json index e2f69f157..9f2beef31 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mongodb-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MongoDB applications built using S2I.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MongoDB (Ephemeral with https)" }, "name": "jws31-tomcat8-mongodb-s2i" }, "labels": { "template": "jws31-tomcat8-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -462,7 +462,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -664,8 +663,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json index 579071cb1..5213cc261 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MySQL (with https)", "description": "An example JBoss Web Server application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, application deployment configuration, database deployment configuration for MySQL using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "jws31-tomcat8-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -476,7 +476,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mysql-s2i.json index e84d61608..1ccd4fa37 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-mysql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MySQL applications built using S2I.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MySQL (Ephemeral with https)" }, "name": "jws31-tomcat8-mysql-s2i" }, "labels": { "template": "jws31-tomcat8-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -466,7 +466,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -667,8 +666,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json index 83a6ca19b..86d8c0fa8 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS PostgreSQL applications with persistent storage built using S2I.", "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + PostgreSQL (with https)" }, "name": "jws31-tomcat8-postgresql-persistent-s2i" }, "labels": { "template": "jws31-tomcat8-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -78,7 +78,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -455,7 +455,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-postgresql-s2i.json index e28cf8a04..b77234318 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/jws31-tomcat8-postgresql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS PostgreSQL applications built using S2I.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.0 Apache Tomcat 8 + PostgreSQL (Ephemeral with https)" }, "name": "jws31-tomcat8-postgresql-s2i" }, "labels": { "template": "jws31-tomcat8-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -448,7 +448,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "containers": [ { "name": "${APPLICATION_NAME}", @@ -639,8 +638,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-amq-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-amq-template.json index aad649f84..3415bba4a 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-amq-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-amq-template.json @@ -3,7 +3,7 @@ "kind": "Template", "metadata": { "annotations": { - "description": "Camel route using ActiveMQ in Karaf container. This quickstart shows how to use Camel in a Karaf Container using Blueprint to connect to the A-MQ xPaaS message broker on OpenShift that should already be installed, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq62-basic template.", + "description": "Camel route using ActiveMQ in Karaf container. This quickstart shows how to use Camel in a Karaf Container using Blueprint to connect to the A-MQ xPaaS message broker on OpenShift that should already be installed, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq63-basic template.", "tags": "quickstart,java,karaf,fis", "iconClass": "icon-jboss", "version": "2.0" @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-camel-amq-1.0.0.redhat-000019", + "value": "karaf2-camel-amq-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-log-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-log-template.json index 38b7bc249..188ae1734 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-log-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-log-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-camel-log-1.0.0.redhat-000019", + "value": "karaf2-camel-log-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-rest-sql-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-rest-sql-template.json index 6d9573e5b..0ed72f39c 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-rest-sql-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-camel-rest-sql-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-camel-rest-sql-1.0.0.redhat-000019", + "value": "karaf2-camel-rest-sql-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -73,7 +73,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-cxf-rest-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-cxf-rest-template.json index fdc0c00e5..3a34eebae 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-cxf-rest-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/karaf2-cxf-rest-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-cxf-rest-1.0.0.redhat-000019", + "value": "karaf2-cxf-rest-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/openjdk18-web-basic-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/openjdk18-web-basic-s2i.json index 6336f0398..466dfb984 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/openjdk18-web-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/openjdk18-web-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-rh-openjdk", "tags": "java", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "OpenJDK 8", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example Java application using OpenJDK 8. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "openjdk18-web-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new java application has been created in your project.", "parameters": [ diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json index 9ef04ae71..ec1619137 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-amq-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -152,7 +152,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -302,7 +302,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -354,6 +354,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -456,6 +462,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -547,7 +579,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -624,13 +656,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -645,7 +681,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -1000,7 +1037,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -1107,7 +1144,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-mysql-s2i.json index 4cb45db42..0deb96c82 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-amq-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -288,7 +288,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -340,6 +340,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -442,6 +448,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -533,7 +565,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -610,13 +642,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -631,7 +667,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -885,8 +922,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } @@ -916,7 +967,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -1013,7 +1064,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json index 56fefcc0a..92767f3b5 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-amq-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -152,7 +152,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -284,7 +284,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -336,6 +336,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -438,6 +444,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -529,7 +561,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -606,13 +638,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -627,7 +663,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -970,7 +1007,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -1077,7 +1114,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-postgresql-s2i.json index bb8d2df28..add35a349 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-amq-postgresql-s2i.json @@ -6,7 +6,7 @@ "description": "Application template for Red Hat JBoss BPM Suite 6.4 intelligent process server AMQ and PostgreSQL applications built using S2I.", "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "processserver64-amq-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -271,7 +271,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -323,6 +323,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -425,6 +431,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -516,7 +548,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -593,13 +625,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -614,7 +650,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -856,8 +893,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } @@ -887,7 +938,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -984,7 +1035,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-basic-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-basic-s2i.json index 1b7cc8cf1..9af4b6cb4 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "processserver64-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new BPMS application has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}.", "parameters": [ @@ -142,6 +142,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -238,7 +244,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -321,6 +327,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -328,7 +339,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-mysql-persistent-s2i.json index 1a4d0887c..97388a2e1 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-mysql-persistent-s2i.json @@ -6,7 +6,7 @@ "description": "Application template for Red Hat JBoss BPM Suite 6.4 intelligent process server MySQL applications with persistent storage built using S2I.", "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "processserver64-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -132,7 +132,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -291,6 +291,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -460,7 +466,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -537,13 +543,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -558,7 +568,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-mysql-s2i.json index 7c491d832..2e7dc3158 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -283,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -452,7 +458,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -529,13 +535,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -550,7 +560,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -776,8 +787,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-postgresql-persistent-s2i.json index 8965ea41f..66dc891cb 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -131,7 +131,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -272,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -441,7 +447,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -518,13 +524,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -539,7 +549,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-postgresql-s2i.json index e21f0ce4e..bb9efc2bb 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/processserver64-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -265,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -434,7 +440,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -511,13 +517,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -532,7 +542,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -746,8 +757,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-amq-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-amq-template.json index 2c1a73a29..89f10f955 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-amq-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-amq-template.json @@ -3,7 +3,7 @@ "kind": "Template", "metadata": { "annotations": { - "description": "Spring Boot, Camel and ActiveMQ QuickStart. This quickstart demonstrates how to connect a Spring-Boot application to an ActiveMQ broker and use JMS messaging between two Camel routes using OpenShift. In this example we will use two containers, one container to run as a ActiveMQ broker, and another as a client to the broker, where the Camel routes are running. This quickstart requires the ActiveMQ broker has been deployed and running first, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq62-basic template", + "description": "Spring Boot, Camel and ActiveMQ QuickStart. This quickstart demonstrates how to connect a Spring-Boot application to an ActiveMQ broker and use JMS messaging between two Camel routes using OpenShift. In this example we will use two containers, one container to run as a ActiveMQ broker, and another as a client to the broker, where the Camel routes are running. This quickstart requires the ActiveMQ broker has been deployed and running first, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq63-basic template", "tags": "quickstart,java,springboot,fis", "iconClass": "icon-jboss", "version": "2.0" @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-amq-1.0.0.redhat-000064", + "value": "spring-boot-camel-amq-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -60,7 +60,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-config-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-config-template.json index b62e768b6..6b298b994 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-config-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-config-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-config-1.0.0.redhat-000014", + "value": "spring-boot-camel-config-1.0.0.redhat-000017", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -64,7 +64,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000014", + "value": "1.0.0.redhat-000017", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-drools-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-drools-template.json index 91081e493..e646ccdb4 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-drools-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-drools-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-drools-1.0.0.redhat-000063", + "value": "spring-boot-camel-drools-1.0.0.redhat-000066", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -63,7 +63,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000063", + "value": "1.0.0.redhat-000066", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-infinispan-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-infinispan-template.json index 8d97400ab..1d4910b9a 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-infinispan-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-infinispan-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-infinispan-1.0.0.redhat-000033", + "value": "spring-boot-camel-infinispan-1.0.0.redhat-000036", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -50,7 +50,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000033", + "value": "1.0.0.redhat-000036", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-rest-sql-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-rest-sql-template.json index bf722844c..61f6cb983 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-rest-sql-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-rest-sql-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-rest-sql-1.0.0.redhat-000064", + "value": "spring-boot-camel-rest-sql-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -72,7 +72,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-teiid-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-teiid-template.json index 856264615..1f5542069 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-teiid-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-teiid-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-teiid-1.0.0.redhat-000062", + "value": "spring-boot-camel-teiid-1.0.0.redhat-000065", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -68,7 +68,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000062", + "value": "1.0.0.redhat-000065", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-template.json index 9c0fe287e..939979912 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-1.0.0.redhat-000064", + "value": "spring-boot-camel-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -43,7 +43,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-xml-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-xml-template.json index 87c0e347a..c5691bc9b 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-xml-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-camel-xml-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-xml-1.0.0.redhat-000064", + "value": "spring-boot-camel-xml-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -43,7 +43,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-cxf-jaxrs-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-cxf-jaxrs-template.json index 8b0261035..577eebf58 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-cxf-jaxrs-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-cxf-jaxrs-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-cxf-jaxrs-1.0.0.redhat-000014", + "value": "spring-boot-cxf-jaxrs-1.0.0.redhat-000017", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000014", + "value": "1.0.0.redhat-000017", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-cxf-jaxws-template.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-cxf-jaxws-template.json index 8b36f5f0b..11441276a 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-cxf-jaxws-template.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/spring-boot-cxf-jaxws-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-cxf-jaxws-1.0.0.redhat-000014", + "value": "spring-boot-cxf-jaxws-1.0.0.redhat-000017", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000014", + "value": "1.0.0.redhat-000017", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-https.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-https.json index 26dd26624..655ec2eaa 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-https.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-https.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-https", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new SSO service has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new SSO service has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -43,13 +43,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -202,6 +195,12 @@ "name": "SSO_TRUSTSTORE_SECRET", "value": "sso-app-secret", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -254,6 +253,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -320,7 +345,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -341,13 +366,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -365,17 +394,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -384,7 +402,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -431,16 +449,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-mysql-persistent.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-mysql-persistent.json index 7092bb65e..83de1ab37 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-mysql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-mysql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + MySQL", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-mysql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new persistent SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -166,7 +159,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -276,6 +269,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -354,6 +353,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -420,7 +445,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -441,13 +466,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -465,17 +494,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -484,7 +502,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -555,16 +573,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-mysql.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-mysql.json index d90f0a0cc..269761dac 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-mysql.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-mysql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + MySQL (Ephemeral)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-mysql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -269,6 +262,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -419,7 +444,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -441,13 +466,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -465,17 +494,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -484,7 +502,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -555,16 +573,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -761,8 +779,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-postgresql-persistent.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-postgresql-persistent.json index b1077db91..cd167d983 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-postgresql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-postgresql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + PostgreSQL", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-postgresql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new persistent SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -148,7 +141,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -258,6 +251,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -336,6 +335,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -402,7 +427,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -423,13 +448,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,17 +476,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -466,7 +484,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -537,16 +555,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-postgresql.json b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-postgresql.json index 0955d712a..365383f8a 100644 --- a/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-postgresql.json +++ b/roles/openshift_examples/files/examples/v3.8/xpaas-templates/sso71-postgresql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + PostgreSQL (Ephemeral)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-postgresql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -251,6 +244,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -332,6 +331,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -401,7 +426,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -423,13 +448,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,17 +476,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -466,7 +484,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -537,16 +555,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -735,8 +753,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/cfme-templates/jboss-middleware-manager-template.yaml b/roles/openshift_examples/files/examples/v3.9/cfme-templates/jboss-middleware-manager-template.yaml index bbc0c7044..6ec1c0fed 100644 --- a/roles/openshift_examples/files/examples/v3.9/cfme-templates/jboss-middleware-manager-template.yaml +++ b/roles/openshift_examples/files/examples/v3.9/cfme-templates/jboss-middleware-manager-template.yaml @@ -197,7 +197,7 @@ objects: spec: containers: - image: ${CASSANDRA_IMAGE} - imagePullPolicy: Always + imagePullPolicy: IfNotPresent name: hawkular-cassandra env: - name: DATA_VOLUME diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-streams/jboss-image-streams.json b/roles/openshift_examples/files/examples/v3.9/xpaas-streams/jboss-image-streams.json index ed2dbf572..7281864f8 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-streams/jboss-image-streams.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-streams/jboss-image-streams.json @@ -17,11 +17,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Web Server 3.0 Apache Tomcat 7", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -87,11 +87,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Web Server 3.0 Apache Tomcat 8", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -157,11 +157,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Web Server 3.1 Apache Tomcat 7", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -210,11 +210,11 @@ "annotations": { "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -263,11 +263,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss EAP 6.4", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -378,6 +378,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-eap-6/eap64-openshift:1.6" } + }, + { + "name": "1.7", + "annotations": { + "description": "JBoss EAP 6.4 S2I images.", + "iconClass": "icon-eap", + "tags": "builder,eap,javaee,java,jboss,hidden", + "supports": "eap:6.4,javaee:6,java:8", + "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git", + "sampleContextDir": "kitchensink", + "sampleRef": "6.4.x", + "version": "1.7", + "openshift.io/display-name": "Red Hat JBoss EAP 6.4" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-eap-6/eap64-openshift:1.7" + } } ] } @@ -390,11 +408,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss EAP 7.0", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -469,6 +487,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-eap-7/eap70-openshift:1.6" } + }, + { + "name": "1.7", + "annotations": { + "description": "JBoss EAP 7.0 S2I images.", + "iconClass": "icon-eap", + "tags": "builder,eap,javaee,java,jboss,hidden", + "supports": "eap:7.0,javaee:7,java:8", + "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git", + "sampleContextDir": "kitchensink", + "sampleRef": "7.0.0.GA", + "version": "1.7", + "openshift.io/display-name": "Red Hat JBoss EAP 7.0" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-eap-7/eap70-openshift:1.7" + } } ] } @@ -481,18 +517,18 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss EAP 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ { "name": "TP", "annotations": { - "description": "JBoss EAP 7.1 Tech Preview.", + "description": "The latest available build of the JBoss EAP 7.1 S2I image.", "iconClass": "icon-eap", "tags": "builder,eap,javaee,java,jboss,hidden", "supports": "eap:7.1,javaee:7,java:8,xpass:1.0", @@ -504,7 +540,7 @@ }, "from": { "kind": "ImageStreamTag", - "name": "1.0-TP" + "name": "1.1" } }, { @@ -524,6 +560,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-eap-7-tech-preview/eap71-openshift:1.0" } + }, + { + "name": "1.1", + "annotations": { + "description": "JBoss EAP 7.1 S2I image.", + "iconClass": "icon-eap", + "tags": "builder,eap,javaee,java,jboss,hidden", + "supports": "eap:7.1,javaee:7,java:8", + "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git", + "sampleContextDir": "kitchensink", + "sampleRef": "7.0.0.GA", + "version": "1.0", + "openshift.io/display-name": "Red Hat JBoss EAP 7.1" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-eap-7/eap71-openshift:1.1" + } } ] } @@ -535,11 +589,11 @@ "name": "jboss-decisionserver62-openshift", "annotations": { "openshift.io/display-name": "Red Hat JBoss BRMS 6.2 decision server", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -572,11 +626,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BRMS 6.3 decision server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -627,11 +681,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BRMS 6.4 decision server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -670,6 +724,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-decisionserver-6/decisionserver64-openshift:1.1" } + }, + { + "name": "1.2", + "annotations": { + "description": "Red Hat JBoss BRMS 6.4 decision server S2I images.", + "iconClass": "icon-decisionserver", + "tags": "builder,decisionserver,java,hidden", + "supports": "decisionserver:6.4,java:8", + "sampleRepo": "https://github.com/jboss-openshift/openshift-quickstarts.git", + "sampleContextDir": "decisionserver/hellorules", + "sampleRef": "1.3", + "version": "1.2", + "openshift.io/display-name": "Red Hat JBoss BRMS 6.4 decision server" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-decisionserver-6/decisionserver64-openshift:1.2" + } } ] } @@ -682,11 +754,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BPM Suite 6.3 intelligent process server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -737,11 +809,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss BPM Suite 6.4 intelligent process server", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -780,6 +852,24 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-processserver-6/processserver64-openshift:1.1" } + }, + { + "name": "1.2", + "annotations": { + "description": "Red Hat JBoss BPM Suite 6.4 intelligent process server S2I images.", + "iconClass": "icon-processserver", + "tags": "builder,processserver,java,hidden", + "supports": "processserver:6.4,java:8", + "sampleRepo": "https://github.com/jboss-openshift/openshift-quickstarts.git", + "sampleContextDir": "processserver/library", + "sampleRef": "1.3", + "version": "1.2", + "openshift.io/display-name": "Red Hat JBoss BPM Suite 6.4 intelligent process server" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-processserver-6/processserver64-openshift:1.2" + } } ] } @@ -792,11 +882,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 6.5", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -859,6 +949,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-datagrid-6/datagrid65-openshift:1.5" } + }, + { + "name": "1.6", + "annotations": { + "description": "JBoss Data Grid 6.5 S2I images.", + "iconClass": "icon-datagrid", + "tags": "datagrid,jboss,hidden", + "supports": "datagrid:6.5", + "version": "1.6", + "openshift.io/display-name": "Red Hat JBoss Data Grid 6.5" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-datagrid-6/datagrid65-openshift:1.6" + } } ] } @@ -871,11 +976,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -908,6 +1013,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-datagrid-7/datagrid71-openshift:1.1" } + }, + { + "name": "1.2", + "annotations": { + "description": "JBoss Data Grid 7.1 S2I images.", + "iconClass": "icon-datagrid", + "tags": "datagrid,jboss,hidden", + "supports": "datagrid:7.1", + "version": "1.2", + "openshift.io/display-name": "Red Hat JBoss Data Grid 7.1" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-datagrid-7/datagrid71-openshift:1.2" + } } ] } @@ -920,11 +1040,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 6.5 Client Modules for EAP", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -967,11 +1087,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Grid 7.1 Client Modules for EAP", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1000,11 +1120,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Virtualization 6.3", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1067,6 +1187,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-datavirt-6/datavirt63-openshift:1.3" } + }, + { + "name": "1.4", + "annotations": { + "description": "Red Hat JBoss Data Virtualization 6.3 S2I images.", + "iconClass": "icon-datavirt", + "tags": "datavirt,jboss,hidden", + "supports":"datavirt:6.3", + "version": "1.4", + "openshift.io/display-name": "Red Hat JBoss Data Virtualization 6.3" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-datavirt-6/datavirt63-openshift:1.4" + } } ] } @@ -1079,11 +1214,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss Data Virtualization 6.5 JDBC Driver Modules for EAP", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1126,11 +1261,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss A-MQ 6.2", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1223,6 +1358,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-amq-6/amq62-openshift:1.6" } + }, + { + "name": "1.7", + "annotations": { + "description": "JBoss A-MQ 6.2 broker image.", + "iconClass": "icon-amq", + "tags": "messaging,amq,jboss,hidden", + "supports":"amq:6.2,messaging", + "version": "1.7", + "openshift.io/display-name": "Red Hat JBoss A-MQ 6.2" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-amq-6/amq62-openshift:1.7" + } } ] } @@ -1235,11 +1385,11 @@ "annotations": { "openshift.io/display-name": "Red Hat JBoss A-MQ 6.3", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1287,6 +1437,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/jboss-amq-6/amq63-openshift:1.2" } + }, + { + "name": "1.3", + "annotations": { + "description": "JBoss A-MQ 6.3 broker image.", + "iconClass": "icon-amq", + "tags": "messaging,amq,jboss,hidden", + "supports": "amq:6.3,messaging", + "version": "1.3", + "openshift.io/display-name": "Red Hat JBoss A-MQ 6.3" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/jboss-amq-6/amq63-openshift:1.3" + } } ] } @@ -1300,11 +1465,11 @@ "description": "Red Hat SSO 7.0", "openshift.io/display-name": "Red Hat Single Sign-On 7.0", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1350,11 +1515,11 @@ "description": "Red Hat SSO 7.1", "openshift.io/display-name": "Red Hat Single Sign-On 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ @@ -1402,6 +1567,21 @@ "kind": "DockerImage", "name": "registry.access.redhat.com/redhat-sso-7/sso71-openshift:1.2" } + }, + { + "name": "1.3", + "annotations": { + "description": "Red Hat SSO 7.1", + "iconClass": "icon-sso", + "tags": "sso,keycloak,redhat,hidden", + "supports": "sso:7.1", + "version": "1.3", + "openshift.io/display-name": "Red Hat Single Sign-On 7.1" + }, + "from": { + "kind": "DockerImage", + "name": "registry.access.redhat.com/redhat-sso-7/sso71-openshift:1.3" + } } ] } @@ -1414,11 +1594,11 @@ "annotations": { "openshift.io/display-name": "Red Hat OpenJDK 8", "openshift.io/provider-display-name": "Red Hat, Inc.", - "version": "1.4.7" + "version": "1.4.8" } }, "labels": { - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "spec": { "tags": [ diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-basic.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-basic.json index 8f8e14cb6..134a577b6 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-basic.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-basic.json @@ -7,14 +7,14 @@ "iconClass": "icon-amq", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (Ephemeral, no SSL)" }, "name": "amq62-basic" }, "labels": { "template": "amq62-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -73,7 +73,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -197,6 +197,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -223,7 +249,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -317,7 +343,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-persistent-ssl.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-persistent-ssl.json index 96f9d616f..5a034d0ba 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-persistent-ssl.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-persistent-ssl.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "amq62-persistent-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -68,7 +68,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -91,7 +91,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -346,6 +346,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -372,7 +398,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -393,7 +419,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -502,7 +527,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -585,7 +610,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -644,7 +669,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-persistent.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-persistent.json index 67c812fb4..bc62098ee 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-persistent.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-persistent.json @@ -6,7 +6,7 @@ "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone and use persistent storage for saving messages, including message migration when the number of pods are reduced. This template doesn't feature SSL support.", "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,7 +14,7 @@ }, "labels": { "template": "amq62-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new persistent messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -64,7 +64,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -87,7 +87,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -211,6 +211,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -237,7 +263,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -341,7 +367,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -398,7 +424,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -457,7 +483,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-ssl.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-ssl.json index 9f488820c..38a291fe9 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-ssl.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq62-ssl.json @@ -6,7 +6,7 @@ "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone or in a mesh. This template supports SSL and requires usage of OpenShift secrets.", "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.2 (Ephemeral with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "amq62-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -108,7 +108,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -328,6 +328,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -354,7 +380,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -375,7 +401,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -476,7 +501,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-basic.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-basic.json index e13530764..b72a5adb2 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-basic.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-basic.json @@ -6,7 +6,7 @@ "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone or in a mesh. This template doesn't feature SSL support.", "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss A-MQ 6.3 (Ephemeral, no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,7 +14,7 @@ }, "labels": { "template": "amq63-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -73,7 +73,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -197,6 +197,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -223,7 +249,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -317,7 +343,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-persistent-ssl.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-persistent-ssl.json index 3eedee933..e0fa53831 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-persistent-ssl.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-persistent-ssl.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.3 (with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "amq63-persistent-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -90,7 +90,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -345,6 +345,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -371,7 +397,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -392,7 +418,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -501,7 +526,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -584,7 +609,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -643,7 +668,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-persistent.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-persistent.json index 7c0aec61a..a87876ca5 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-persistent.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.3 (no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "amq63-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new persistent messaging service has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}.", "parameters": [ @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -90,7 +90,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -214,6 +214,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -240,7 +266,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -344,7 +370,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", @@ -401,7 +427,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -460,7 +486,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-ssl.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-ssl.json index a55403c79..f4c43da0e 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-ssl.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/amq63-ssl.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-amq", "tags": "messaging,amq,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss A-MQ 6.3 (Ephemeral with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "amq63-ssl", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"amq-service-account\" service account and a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", + "message": "A new messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -111,7 +111,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -331,6 +331,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { @@ -357,7 +383,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -378,7 +404,6 @@ } }, "spec": { - "serviceAccountName": "amq-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -479,7 +504,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-basic.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-basic.json index af390c13d..055287371 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-basic.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-basic.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 applications.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 (Ephemeral, no https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,7 +14,7 @@ }, "labels": { "template": "datagrid65-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\".", "parameters": [ @@ -109,6 +109,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -185,6 +191,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -228,7 +260,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -255,6 +287,11 @@ "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -262,7 +299,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -315,16 +353,16 @@ "value": "${PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-https.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-https.json index 97d02c788..66636d7d7 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-https.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-https.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 applications.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datagrid65-https", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -172,6 +172,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -272,6 +278,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -338,7 +370,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -359,13 +391,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -385,7 +421,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -459,16 +496,16 @@ "value": "${HTTPS_PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-mysql-persistent.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-mysql-persistent.json index 018132668..51bb4f047 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-mysql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-mysql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid65-mysql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -166,7 +166,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -267,6 +267,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -395,6 +401,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -461,7 +493,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -482,13 +514,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -508,7 +544,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -634,16 +671,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-mysql.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-mysql.json index 1e8ca1b51..b7914b6ab 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-mysql.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-mysql.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 and MySQL applications.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datagrid65-mysql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -257,6 +257,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +391,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -472,13 +504,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -498,7 +534,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +661,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -805,8 +842,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-postgresql-persistent.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-postgresql-persistent.json index 4a1d818c9..f77590173 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-postgresql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-postgresql-persistent.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 and PostgreSQL applications with persistent storage.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "datagrid65-postgresql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -149,7 +149,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -250,6 +250,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -376,6 +382,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -442,7 +474,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -463,13 +495,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -489,7 +525,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -615,16 +652,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-postgresql.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-postgresql.json index d97bdfa75..991bec03a 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-postgresql.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid65-postgresql.json @@ -6,7 +6,7 @@ "iconClass": "icon-datagrid", "description": "Application template for JDG 6.5 and PostgreSQL applications built using.", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 6.5 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datagrid65-postgresql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -239,6 +239,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -365,6 +371,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -431,7 +463,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid65-openshift:1.5" + "name": "jboss-datagrid65-openshift:1.6" } } }, @@ -452,13 +484,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid65-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -478,7 +514,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -604,16 +641,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -777,8 +814,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-basic.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-basic.json index d4b83da34..66e900045 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-basic.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-basic.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 (Ephemeral, no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "datagrid71-basic", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\".", "parameters": [ @@ -140,6 +140,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -216,6 +222,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -259,7 +291,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -286,6 +318,11 @@ "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -293,7 +330,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -362,16 +400,16 @@ "value": "${CONTAINER_SECURITY_ROLES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-https.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-https.json index 2a46bd3a2..6d092cbc9 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-https.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-https.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-https", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -203,6 +203,12 @@ "from": "[a-zA-Z0-9]{8}", "generate": "expression", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -303,6 +309,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -369,7 +401,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -390,13 +422,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -416,7 +452,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -506,16 +543,16 @@ "value": "${HTTPS_PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-mysql-persistent.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-mysql-persistent.json index 72bdf2037..96f7b4b1f 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-mysql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-mysql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-mysql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -194,7 +194,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -295,6 +295,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -423,6 +429,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -489,7 +521,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -510,13 +542,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -536,7 +572,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -678,16 +715,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-mysql.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-mysql.json index 99f97a7c7..690fe1575 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-mysql.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-mysql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-mysql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using MySQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -288,6 +288,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -416,6 +422,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -482,7 +514,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -503,13 +535,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -529,7 +565,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -671,16 +708,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -852,8 +889,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-partition.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-partition.json index baf17dbbb..06e9f13e7 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-partition.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-partition.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 (Ephemeral, no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "datagrid71-partition", - "xpaas": "1.4.0" + "xpaas": "1.4.8" }, "message": "A new data grid service has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\".", "parameters": [ @@ -145,7 +145,7 @@ "displayName": "Datagrid Volume Size", "description": "Size of the volume used by Datagrid for persisting metadata.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -154,6 +154,12 @@ "name": "DATAGRID_SPLIT", "value": "true", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -254,6 +260,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -297,7 +329,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -324,6 +356,11 @@ "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "mountPath": "/opt/datagrid/standalone/partitioned_data", @@ -337,7 +374,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -395,16 +433,16 @@ "value": "${PASSWORD}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-postgresql-persistent.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-postgresql-persistent.json index 5cd6e854a..49f2a1c25 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-postgresql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-postgresql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-postgresql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL with persistent storage) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -176,7 +176,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -277,6 +277,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -403,6 +409,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -469,7 +501,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -490,13 +522,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -516,7 +552,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -658,16 +695,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-postgresql.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-postgresql.json index 505d67750..f9839389a 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-postgresql.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datagrid71-postgresql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datagrid", "tags": "datagrid,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Grid 7.1 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Grid application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datagrid71-postgresql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"datagrid-service-account\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data grid service (using PostgreSQL) has been created in your project. It supports connector type(s) \"${INFINISPAN_CONNECTORS}\". The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -270,6 +270,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -396,6 +402,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +494,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datagrid71-openshift:1.1" + "name": "jboss-datagrid71-openshift:1.2" } } }, @@ -483,13 +515,17 @@ } }, "spec": { - "serviceAccountName": "datagrid-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "jboss-datagrid71-openshift", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "datagrid-keystore-volume", @@ -509,7 +545,8 @@ "-c", "/opt/datagrid/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -651,16 +688,16 @@ "value": "${DB_JNDI}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "INFINISPAN_CONNECTORS", @@ -824,8 +861,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-basic-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-basic-s2i.json index b6885d6f6..275500830 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-basic-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-datavirt", "description": "Application template for JBoss Data Virtualization 6.3 services built using S2I.", "tags": "jdv,datavirt,database,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Virtualization 6.3 (no SSL)", "openshift.io/provider-display-name": "Red Hat, Inc." }, @@ -14,9 +14,9 @@ }, "labels": { "template": "datavirt63-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the secret named ${CONFIGURATION_NAME} containing the datasource configuration details required by the deployed VDB(s).", + "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the secret named ${CONFIGURATION_NAME} containing the datasource configuration details required by the deployed VDB(s).", "parameters": [ { "description": "The name for the application.", @@ -61,13 +61,6 @@ "required": false }, { - "description": "The name of the service account to use for the deployment. The service account should be configured to allow usage of the secret specified by CONFIGURATION_NAME.", - "displayName": "Service Account Name", - "name": "SERVICE_ACCOUNT_NAME", - "value": "datavirt-service-account", - "required": true - }, - { "description": "Username associated with Teiid data service.", "displayName": "Teiid Username", "name": "TEIID_USERNAME", @@ -157,6 +150,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -196,6 +195,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -268,7 +293,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datavirt63-openshift:1.3" + "name": "jboss-datavirt63-openshift:1.4" }, "env": [ { @@ -372,13 +397,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -393,7 +422,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -433,16 +463,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "JGROUPS_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-extensions-support-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-extensions-support-s2i.json index a06f714a7..f5f4532b6 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-extensions-support-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-extensions-support-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datavirt", "tags": "jdv,datavirt,database,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Virtualization 6.3 (with SSL and Extensions)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Virtualization application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datavirt63-extensions-support-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "description": "The name for the application.", @@ -106,13 +106,6 @@ "required": false }, { - "description": "The name of the service account to use for the deployment. The service account should be configured to allow usage of the secret(s) specified by CONFIGURATION_NAME, HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "displayName": "Service Account Name", - "name": "SERVICE_ACCOUNT_NAME", - "value": "datavirt-service-account", - "required": true - }, - { "description": "The name of the secret containing the keystore to be used for serving secure content.", "displayName": "Server Keystore Secret Name", "name": "HTTPS_SECRET", @@ -265,6 +258,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -514,7 +539,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datavirt63-openshift:1.3" + "name": "jboss-datavirt63-openshift:1.4" }, "env": [ { @@ -627,13 +652,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -658,7 +687,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -713,16 +743,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-secure-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-secure-s2i.json index 1758b1be0..202a57a1e 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-secure-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/datavirt63-secure-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-datavirt", "tags": "jdv,datavirt,database,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Data Virtualization 6.3 (with SSL)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Data Virtualization application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "datavirt63-secure-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "description": "The name for the application.", @@ -78,13 +78,6 @@ "required": false }, { - "description": "The name of the service account to use for the deployment. The service account should be configured to allow usage of the secret(s) specified by CONFIGURATION_NAME, HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "displayName": "Service Account Name", - "name": "SERVICE_ACCOUNT_NAME", - "value": "datavirt-service-account", - "required": true - }, - { "description": "The name of the secret containing the keystore to be used for serving secure content.", "displayName": "Server Keystore Secret Name", "name": "HTTPS_SECRET", @@ -378,6 +371,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -432,6 +431,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -556,7 +581,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-datavirt63-openshift:1.3" + "name": "jboss-datavirt63-openshift:1.4" }, "env": [ { @@ -660,13 +685,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -691,7 +720,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -746,16 +776,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-amq-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-amq-s2i.json index 3006a7265..231c597f9 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-amq-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-decisionserver", "tags": "decisionserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BRMS 6.4 decision server + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BRMS decision server A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "decisionserver64-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BRMS/A-MQ application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"decisionserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BRMS/A-MQ application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -182,7 +182,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -227,6 +227,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +311,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -396,7 +428,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-decisionserver64-openshift:1.1" + "name": "jboss-decisionserver64-openshift:1.2" } } }, @@ -473,13 +505,17 @@ } }, "spec": { - "serviceAccountName": "decisionserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "decisionserver-keystore-volume", @@ -494,7 +530,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -630,7 +667,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -727,7 +764,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-basic-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-basic-s2i.json index eaee9c1a5..6ed3c8a83 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-basic-s2i.json @@ -6,14 +6,14 @@ "description": "Application template for Red Hat JBoss BRMS 6.4 decision server applications built using S2I.", "iconClass": "icon-decisionserver", "tags": "decisionserver,jboss,xpaas", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss BRMS 6.4 decision server (no https)" }, "name": "decisionserver64-basic-s2i" }, "labels": { "template": "decisionserver64-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new BRMS application has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}.", "parameters": [ @@ -131,6 +131,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -227,7 +233,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-decisionserver64-openshift:1.1" + "name": "jboss-decisionserver64-openshift:1.2" } } }, @@ -310,6 +316,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -317,7 +328,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-https-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-https-s2i.json index cb6eb1706..a57a30862 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/decisionserver64-https-s2i.json @@ -6,7 +6,7 @@ "description": "Application template for Red Hat JBoss BRMS 6.4 decision server HTTPS applications built using S2I.", "iconClass": "icon-decisionserver", "tags": "decisionserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BRMS 6.4 decision server (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BRMS decision server application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "decisionserver64-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BRMS application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. Please be sure to create the \"decisionserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BRMS application with SSL support has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -185,6 +185,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -328,7 +334,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-decisionserver64-openshift:1.1" + "name": "jboss-decisionserver64-openshift:1.2" } } }, @@ -405,13 +411,17 @@ } }, "spec": { - "serviceAccountName": "decisionserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "decisionserver-keystore-volume", @@ -426,7 +436,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-amq-persistent-s2i.json index 9ebbfd06c..de62b246e 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-amq-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-amq-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -113,13 +113,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -174,7 +167,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -262,6 +255,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -340,6 +365,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -427,7 +478,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -504,13 +555,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -530,7 +585,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -597,16 +653,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -704,7 +760,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -823,7 +879,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-amq-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-amq-s2i.json index 6b0e1a30c..52824aa0f 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-amq-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + A-MQ (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -160,7 +153,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -248,6 +241,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -326,6 +351,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -413,7 +464,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -490,13 +541,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -516,7 +571,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -583,16 +639,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -687,7 +743,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -796,7 +852,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-basic-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-basic-s2i.json index 17fdd2333..ced21226f 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "eap64-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new EAP 6 based application has been created in your project.", "parameters": [ @@ -128,6 +128,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -156,6 +162,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -220,7 +252,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -303,6 +335,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -310,7 +347,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -340,16 +378,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HORNETQ_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-https-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-https-s2i.json index 8616ac04f..1702f493c 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-https-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -205,6 +198,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -257,6 +256,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -344,7 +369,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -421,13 +446,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,7 +476,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -482,16 +512,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mongodb-persistent-s2i.json index ea3b46d78..a56fe4ed2 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mongodb-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MongoDB (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -293,6 +286,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -371,6 +370,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -458,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -535,13 +560,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -561,7 +590,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -632,16 +662,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mongodb-s2i.json index 4aa9be281..cb92bac64 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mongodb-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MongoDB (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -286,6 +279,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -364,6 +363,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +476,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -528,13 +553,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -554,7 +583,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -625,16 +655,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -803,8 +833,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mysql-persistent-s2i.json index 304f11348..a6dd17d09 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mysql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -297,6 +290,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -375,6 +374,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -539,13 +564,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -565,7 +594,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -636,16 +666,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mysql-s2i.json index bc1cdaca5..936f5d607 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -290,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -368,6 +367,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -455,7 +480,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -532,13 +557,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -558,7 +587,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -629,16 +659,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -815,8 +845,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-postgresql-persistent-s2i.json index d2e6ea25b..53e9a38c8 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss EAP 6.4 + PostgreSQL (Persistent with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -279,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -357,6 +356,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -444,7 +469,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -521,13 +546,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -547,7 +576,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -618,16 +648,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-postgresql-s2i.json index 7a2d4009e..a13e68daf 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -272,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -437,7 +462,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -514,13 +539,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -540,7 +569,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -611,16 +641,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -789,8 +819,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-sso-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-sso-s2i.json index 368f147f4..2c5e16f40 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-sso-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-sso-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 6.4 + Single Sign-On (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 Single Sign-On application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-sso-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 based application with SSL and SSO support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 based application with SSL and SSO support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -333,6 +326,12 @@ "name": "MAVEN_MIRROR_URL", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +384,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" }, "env": [ { @@ -553,13 +578,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "sso-saml-keystore-volume", @@ -589,7 +618,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +654,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HOSTNAME_HTTP", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-third-party-db-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-third-party-db-s2i.json index 701f4eee6..75c2c466c 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-third-party-db-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-third-party-db-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss EAP 6.4 (with https, DB drivers)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 6 DB application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap64-third-party-db-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 6 based application with SSL support has been created in your project. Please be sure to create the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -72,7 +72,7 @@ }, { "displayName": "Drivers ImageStreamTag", - "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-openshift:1.0-driver", + "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-driver-openshift:1.1", "name": "EXTENSIONS_IMAGE", "value": "jboss-datavirt63-driver-openshift:1.1", "required": true @@ -106,13 +106,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -233,6 +226,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-https", @@ -391,7 +416,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap64-openshift:1.6" + "name": "jboss-eap64-openshift:1.7" } } }, @@ -478,13 +503,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -509,7 +538,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -544,16 +574,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "ENV_FILES", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-tx-recovery-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-tx-recovery-s2i.json new file mode 100644 index 000000000..de5ebe326 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap64-tx-recovery-s2i.json @@ -0,0 +1,605 @@ +{ + "kind": "Template", + "apiVersion": "v1", + "metadata": { + "annotations": { + "iconClass": "icon-eap", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 6.4 (tx recovery)", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "description": "An example EAP 6 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", + "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 6.4 based application, including a build configuration, application deployment configuration and insecure communication using http. The template also demonstrates how to enable automated transaction recovery on scale down of application pods. Automated transaction recovery is currently Technology Preview.", + "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/", + "template.openshift.io/support-url": "https://access.redhat.com" + }, + "name": "eap64-tx-recovery-s2i" + }, + "labels": { + "template": "eap64-tx-recovery-s2i", + "xpaas": "1.4.8" + }, + "message": "A new EAP 6 based application has been created in your project.", + "parameters": [ + { + "displayName": "Application Name", + "description": "The name for the application.", + "name": "APPLICATION_NAME", + "value": "eap-app", + "required": true + }, + { + "displayName": "Custom http Route Hostname", + "description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>", + "name": "HOSTNAME_HTTP", + "value": "", + "required": false + }, + { + "displayName": "Git Repository URL", + "description": "Git source URI for application", + "name": "SOURCE_REPOSITORY_URL", + "value": "https://github.com/jboss-developer/jboss-eap-quickstarts", + "required": true + }, + { + "displayName": "Git Reference", + "description": "Git branch/tag reference", + "name": "SOURCE_REPOSITORY_REF", + "value": "6.4.x", + "required": false + }, + { + "displayName": "Context Directory", + "description": "Path within Git project to build; empty for root project directory.", + "name": "CONTEXT_DIR", + "value": "kitchensink", + "required": false + }, + { + "displayName": "Queues", + "description": "Queue names", + "name": "HORNETQ_QUEUES", + "value": "", + "required": false + }, + { + "displayName": "Topics", + "description": "Topic names", + "name": "HORNETQ_TOPICS", + "value": "", + "required": false + }, + { + "displayName": "HornetQ Password", + "description": "HornetQ cluster admin password", + "name": "HORNETQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Github Webhook Secret", + "description": "GitHub trigger secret", + "name": "GITHUB_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Generic Webhook Secret", + "description": "Generic build trigger secret", + "name": "GENERIC_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "ImageStream Namespace", + "description": "Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.", + "name": "IMAGE_STREAM_NAMESPACE", + "value": "openshift", + "required": true + }, + { + "displayName": "JGroups Cluster Password", + "description": "JGroups cluster password", + "name": "JGROUPS_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Deploy Exploded Archives", + "description": "Controls whether exploded deployment content should be automatically deployed", + "name": "AUTO_DEPLOY_EXPLODED", + "value": "false", + "required": false + }, + { + "displayName": "Maven mirror URL", + "description": "Maven mirror to use for S2I builds", + "name": "MAVEN_MIRROR_URL", + "value": "", + "required": false + }, + { + "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.", + "name": "ARTIFACT_DIR", + "value": "", + "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false + }, + { + "displayName": "EAP Volume Size", + "description": "Size of the volume used by EAP for persisting data.", + "name": "VOLUME_CAPACITY", + "value": "1Gi", + "required": true + }, + { + "displayName": "Split the data directory?", + "description": "Split the data directory for each node in a cluster.", + "name": "SPLIT_DATA", + "value": "true", + "required": false + } + ], + "objects": [ + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "ports": [ + { + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "The web server's http port." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Route", + "apiVersion": "v1", + "id": "${APPLICATION_NAME}-http", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "Route for application's http service." + } + }, + "spec": { + "host": "${HOSTNAME_HTTP}", + "to": { + "name": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "env": [ + { + "name": "MAVEN_MIRROR_URL", + "value": "${MAVEN_MIRROR_URL}" + }, + { + "name": "ARTIFACT_DIR", + "value": "${ARTIFACT_DIR}" + } + ], + "forcePull": true, + "from": { + "kind": "ImageStreamTag", + "namespace": "${IMAGE_STREAM_NAMESPACE}", + "name": "jboss-eap64-openshift:1.7" + } + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + }, + "triggers": [ + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + }, + { + "type": "ImageChange", + "imageChange": {} + }, + { + "type": "ConfigChange" + } + ] + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 60, + "containers": [ + { + "name": "${APPLICATION_NAME}", + "image": "${APPLICATION_NAME}", + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "livenessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/livenessProbe.sh" + ] + }, + "initialDelaySeconds": 60 + }, + "readinessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/readinessProbe.sh" + ] + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "HORNETQ_CLUSTER_PASSWORD", + "value": "${HORNETQ_CLUSTER_PASSWORD}" + }, + { + "name": "HORNETQ_QUEUES", + "value": "${HORNETQ_QUEUES}" + }, + { + "name": "HORNETQ_TOPICS", + "value": "${HORNETQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}-migration" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-migration" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}-migration", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 60, + "containers": [ + { + "name": "${APPLICATION_NAME}-migration", + "image": "${APPLICATION_NAME}", + "command": [ + "/opt/eap/bin/openshift-migrate.sh" + ], + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "HORNETQ_CLUSTER_PASSWORD", + "value": "${HORNETQ_CLUSTER_PASSWORD}" + }, + { + "name": "HORNETQ_QUEUES", + "value": "${HORNETQ_QUEUES}" + }, + { + "name": "HORNETQ_TOPICS", + "value": "${HORNETQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": { + "name": "${APPLICATION_NAME}-eap-claim", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "accessModes": [ + "ReadWriteMany" + ], + "resources": { + "requests": { + "storage": "${VOLUME_CAPACITY}" + } + } + } + } + ] +} diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-amq-persistent-s2i.json index d16756bad..eb6929a2c 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-amq-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-amq-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -113,13 +113,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -174,7 +167,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -262,6 +255,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -340,6 +365,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -427,7 +478,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -504,13 +555,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -530,7 +585,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -597,16 +653,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -704,7 +760,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -823,7 +879,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-amq-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-amq-s2i.json index 70323214f..ca0efa2d9 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-amq-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -160,7 +153,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -248,6 +241,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -326,6 +351,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -413,7 +464,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -490,13 +541,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -516,7 +571,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -583,16 +639,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -687,7 +743,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -796,7 +852,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-basic-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-basic-s2i.json index 312db1971..a0d781a4d 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "eap70-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new EAP 7 based application has been created in your project.", "parameters": [ @@ -128,6 +128,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -156,6 +162,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -220,7 +252,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -303,6 +335,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -310,7 +347,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -340,16 +378,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "MQ_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-https-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-https-s2i.json index 7c3b35f5a..0b7d09001 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-https-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -205,6 +198,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -257,6 +256,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -344,7 +369,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -421,13 +446,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,7 +476,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -482,16 +512,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mongodb-persistent-s2i.json index 205e451c7..d6a154a38 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mongodb-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + MongoDB (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -293,6 +286,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -371,6 +370,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -458,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -535,13 +560,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -561,7 +590,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -632,16 +662,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mongodb-s2i.json index 63b57d5dc..31a2e161f 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mongodb-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Boss EAP 7.0 + MongoDB (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -286,6 +279,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -364,6 +363,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +476,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -528,13 +553,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -554,7 +583,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -625,16 +655,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -803,8 +833,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mysql-persistent-s2i.json index f9f77f22c..d487cfc40 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mysql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -297,6 +290,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -375,6 +374,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -539,13 +564,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -565,7 +594,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -636,16 +666,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mysql-s2i.json index 8ea433a80..ee4e8f01d 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -290,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -368,6 +367,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -455,7 +480,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -532,13 +557,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -558,7 +587,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -629,16 +659,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -819,8 +849,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-postgresql-persistent-s2i.json index a2bc9d3b9..aba0c8c64 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + PostgreSQL (Persistent with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -279,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -357,6 +356,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -444,7 +469,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -521,13 +546,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -547,7 +576,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -618,16 +648,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-postgresql-s2i.json index 66b0c737d..bf7c6cf89 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -272,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -437,7 +462,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -514,13 +539,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -540,7 +569,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -611,16 +641,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -793,8 +823,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-sso-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-sso-s2i.json index 2201ff7f3..3601e2354 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-sso-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-sso-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 + Single Sign-On (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 Single Sign-On application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-sso-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -86,13 +86,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -333,6 +326,12 @@ "name": "MAVEN_MIRROR_URL", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +384,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" }, "env": [ { @@ -553,13 +578,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "sso-saml-keystore-volume", @@ -589,7 +618,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +654,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HOSTNAME_HTTP", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-third-party-db-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-third-party-db-s2i.json index 3ca69f6c7..08b2717be 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-third-party-db-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-third-party-db-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.0 (with https, DB drivers)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 DB application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap70-third-party-db-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -72,7 +72,7 @@ }, { "displayName": "Drivers ImageStreamTag", - "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-openshift:1.0-driver", + "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-driver-openshift:1.1", "name": "EXTENSIONS_IMAGE", "value": "jboss-datavirt63-driver-openshift:1.1", "required": true @@ -106,13 +106,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -233,6 +226,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -285,6 +284,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -391,7 +416,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap70-openshift:1.6" + "name": "jboss-eap70-openshift:1.7" } } }, @@ -478,13 +503,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -509,7 +538,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -544,16 +574,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "ENV_FILES", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-tx-recovery-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-tx-recovery-s2i.json new file mode 100644 index 000000000..4edfb1336 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap70-tx-recovery-s2i.json @@ -0,0 +1,605 @@ +{ + "kind": "Template", + "apiVersion": "v1", + "metadata": { + "annotations": { + "iconClass": "icon-eap", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 7.0 (tx recovery)", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", + "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 7.0 based application, including a build configuration, application deployment configuration and insecure communication using http. The template also demonstrates how to enable automated transaction recovery on scale down of application pods. Automated transaction recovery is currently Technology Preview.", + "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/", + "template.openshift.io/support-url": "https://access.redhat.com" + }, + "name": "eap70-tx-recovery-s2i" + }, + "labels": { + "template": "eap70-tx-recovery-s2i", + "xpaas": "1.4.8" + }, + "message": "A new EAP 7 based application has been created in your project.", + "parameters": [ + { + "displayName": "Application Name", + "description": "The name for the application.", + "name": "APPLICATION_NAME", + "value": "eap-app", + "required": true + }, + { + "displayName": "Custom http Route Hostname", + "description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>", + "name": "HOSTNAME_HTTP", + "value": "", + "required": false + }, + { + "displayName": "Git Repository URL", + "description": "Git source URI for application", + "name": "SOURCE_REPOSITORY_URL", + "value": "https://github.com/jboss-developer/jboss-eap-quickstarts", + "required": true + }, + { + "displayName": "Git Reference", + "description": "Git branch/tag reference", + "name": "SOURCE_REPOSITORY_REF", + "value": "7.0.0.GA", + "required": false + }, + { + "displayName": "Context Directory", + "description": "Path within Git project to build; empty for root project directory.", + "name": "CONTEXT_DIR", + "value": "kitchensink", + "required": false + }, + { + "displayName": "Queues", + "description": "Queue names", + "name": "MQ_QUEUES", + "value": "", + "required": false + }, + { + "displayName": "Topics", + "description": "Topic names", + "name": "MQ_TOPICS", + "value": "", + "required": false + }, + { + "displayName": "A-MQ cluster password", + "description": "A-MQ cluster admin password", + "name": "MQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Github Webhook Secret", + "description": "GitHub trigger secret", + "name": "GITHUB_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Generic Webhook Secret", + "description": "Generic build trigger secret", + "name": "GENERIC_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "ImageStream Namespace", + "description": "Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.", + "name": "IMAGE_STREAM_NAMESPACE", + "value": "openshift", + "required": true + }, + { + "displayName": "JGroups Cluster Password", + "description": "JGroups cluster password", + "name": "JGROUPS_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Deploy Exploded Archives", + "description": "Controls whether exploded deployment content should be automatically deployed", + "name": "AUTO_DEPLOY_EXPLODED", + "value": "false", + "required": false + }, + { + "displayName": "Maven mirror URL", + "description": "Maven mirror to use for S2I builds", + "name": "MAVEN_MIRROR_URL", + "value": "", + "required": false + }, + { + "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.", + "name": "ARTIFACT_DIR", + "value": "", + "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false + }, + { + "displayName": "EAP Volume Size", + "description": "Size of the volume used by EAP for persisting data.", + "name": "VOLUME_CAPACITY", + "value": "1Gi", + "required": true + }, + { + "displayName": "Split the data directory?", + "description": "Split the data directory for each node in a cluster.", + "name": "SPLIT_DATA", + "value": "true", + "required": false + } + ], + "objects": [ + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "ports": [ + { + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "The web server's http port." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Route", + "apiVersion": "v1", + "id": "${APPLICATION_NAME}-http", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "Route for application's http service." + } + }, + "spec": { + "host": "${HOSTNAME_HTTP}", + "to": { + "name": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "env": [ + { + "name": "MAVEN_MIRROR_URL", + "value": "${MAVEN_MIRROR_URL}" + }, + { + "name": "ARTIFACT_DIR", + "value": "${ARTIFACT_DIR}" + } + ], + "forcePull": true, + "from": { + "kind": "ImageStreamTag", + "namespace": "${IMAGE_STREAM_NAMESPACE}", + "name": "jboss-eap70-openshift:1.7" + } + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + }, + "triggers": [ + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + }, + { + "type": "ImageChange", + "imageChange": {} + }, + { + "type": "ConfigChange" + } + ] + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}", + "image": "${APPLICATION_NAME}", + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "livenessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/livenessProbe.sh" + ] + }, + "initialDelaySeconds": 60 + }, + "readinessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/readinessProbe.sh" + ] + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}-migration" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-migration" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}-migration", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}-migration", + "image": "${APPLICATION_NAME}", + "command": [ + "/opt/eap/bin/openshift-migrate.sh" + ], + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": { + "name": "${APPLICATION_NAME}-eap-claim", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "accessModes": [ + "ReadWriteMany" + ], + "resources": { + "requests": { + "storage": "${VOLUME_CAPACITY}" + } + } + } + } + ] +} diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-amq-persistent-s2i.json index dbc1a8013..d5e785f69 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-amq-persistent-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-amq-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ persistent based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -67,7 +67,7 @@ "displayName": "A-MQ Volume Size", "description": "Size of the volume used by A-MQ for persisting messages.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -113,13 +113,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -174,7 +167,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -262,6 +255,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -319,6 +318,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -340,6 +365,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -427,7 +478,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -504,13 +555,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -530,7 +585,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -597,16 +653,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -704,7 +760,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -823,7 +879,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-amq-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-amq-s2i.json index 6e330eae9..16d19d540 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-amq-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,xpaas,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss,hidden", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + A-MQ (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-amq-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and A-MQ based application with SSL support has been created in your project. The username/password for accessing the A-MQ service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -160,7 +153,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -248,6 +241,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -305,6 +304,32 @@ "kind": "Service", "apiVersion": "v1", "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { "ports": [ { "port": 61616, @@ -326,6 +351,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -413,7 +464,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -490,13 +541,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -516,7 +571,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -583,16 +639,16 @@ "value": "${MQ_SERIALIZABLE_PACKAGES}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -687,7 +743,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-62:1.6" + "name": "jboss-amq-62:1.7" } } }, @@ -796,7 +852,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-basic-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-basic-s2i.json index 892ec468c..ece7c7310 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-basic-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "eap71-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new EAP 7 based application has been created in your project.", "parameters": [ @@ -128,6 +128,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -156,6 +162,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -220,7 +252,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -303,6 +335,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -310,7 +347,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -340,16 +378,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "MQ_CLUSTER_PASSWORD", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-https-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-https-s2i.json index 7426830ec..515e69e83 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-https-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -78,13 +78,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -205,6 +198,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -257,6 +256,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -344,7 +369,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -421,13 +446,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,7 +476,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -482,16 +512,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mongodb-persistent-s2i.json index fb7f27acf..97ed818d3 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mongodb-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MongoDB (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB persistent based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -293,6 +286,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -371,6 +370,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -458,7 +483,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -535,13 +560,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -561,7 +590,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -632,16 +662,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mongodb-s2i.json index 915c9ba0a..b59ca2b5e 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mongodb-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MongoDB (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MongoDB based application with SSL support has been created in your project. The username/password for accessing the MongoDB database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -286,6 +279,12 @@ "name": "MONGODB_IMAGE_STREAM_TAG", "value": "3.2", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -364,6 +363,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -451,7 +476,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -528,13 +553,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -554,7 +583,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -625,16 +655,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -803,8 +833,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mysql-persistent-s2i.json index 6af9e5f50..aee9966a5 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mysql-persistent-s2i.json @@ -4,8 +4,8 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL persistent based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -297,6 +290,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -375,6 +374,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -539,13 +564,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -565,7 +594,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -636,16 +666,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mysql-s2i.json index c7d14d3c7..d1062329e 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and MySQL based application with SSL support has been created in your project. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -290,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -368,6 +367,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -455,7 +480,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -532,13 +557,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -558,7 +587,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -629,16 +659,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -819,8 +849,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-postgresql-persistent-s2i.json index a8d77b0ab..e4c306478 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-postgresql-persistent-s2i.json @@ -4,9 +4,9 @@ "metadata": { "annotations": { "iconClass": "icon-eap", - "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", - "openshift.io/display-name": "JBoss EAP 7.1 + PostgreSQL (with https)", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 7.1 + PostgreSQL (Persistent with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 7.1 based application, including a build configuration, application deployment configuration, database deployment configuration for PostgreSQL using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL persistent based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -99,13 +99,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -279,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -357,6 +356,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -444,7 +469,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -521,13 +546,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -547,7 +576,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -618,16 +648,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-postgresql-s2i.json index d87f05ea8..ef5402199 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 and PostgreSQL based application with SSL support has been created in your project. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -92,13 +92,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -272,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -437,7 +462,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -514,13 +539,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -540,7 +569,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -611,16 +641,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -793,8 +823,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-sso-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-sso-s2i.json index 96b3dffc9..3e5c346bf 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-sso-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-sso-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 + Single Sign-On (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 Single Sign-On application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-sso-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL and SSO support has been created in your project. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -66,22 +66,23 @@ { "displayName": "Queues", "description": "Queue names", - "name": "HORNETQ_QUEUES", + "name": "MQ_QUEUES", "value": "", "required": false }, { "displayName": "Topics", "description": "Topic names", - "name": "HORNETQ_TOPICS", + "name": "MQ_TOPICS", "value": "", "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap7-service-account", + "displayName": "A-MQ cluster password", + "description": "A-MQ cluster admin password", + "name": "MQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", "required": true }, { @@ -120,14 +121,6 @@ "required": false }, { - "displayName": "HornetQ Password", - "description": "HornetQ cluster admin password", - "name": "HORNETQ_CLUSTER_PASSWORD", - "from": "[a-zA-Z0-9]{8}", - "generate": "expression", - "required": true - }, - { "displayName": "Github Webhook Secret", "description": "GitHub trigger secret", "name": "GITHUB_WEBHOOK_SECRET", @@ -333,6 +326,12 @@ "name": "MAVEN_MIRROR_URL", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -385,6 +384,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -462,7 +487,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" }, "env": [ { @@ -553,13 +578,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "sso-saml-keystore-volume", @@ -589,7 +618,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -624,16 +654,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HOSTNAME_HTTP", @@ -664,16 +694,16 @@ "value": "${HTTPS_PASSWORD}" }, { - "name": "HORNETQ_CLUSTER_PASSWORD", - "value": "${HORNETQ_CLUSTER_PASSWORD}" + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" }, { - "name": "HORNETQ_QUEUES", - "value": "${HORNETQ_QUEUES}" + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" }, { - "name": "HORNETQ_TOPICS", - "value": "${HORNETQ_TOPICS}" + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" }, { "name": "JGROUPS_ENCRYPT_SECRET", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-third-party-db-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-third-party-db-s2i.json index a2a7264fb..41644db89 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-third-party-db-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-third-party-db-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-eap", "tags": "eap,javaee,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss EAP 7.1 (with https, DB drivers)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example EAP 7 DB application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "eap71-third-party-db-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", + "message": "A new EAP 7 based application with SSL support has been created in your project. Please be sure to create the following secrets:\"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed application(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.", "parameters": [ { "displayName": "Application Name", @@ -72,7 +72,7 @@ }, { "displayName": "Drivers ImageStreamTag", - "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-openshift:1.0-driver", + "description": "ImageStreamTag definition for the image containing the drivers and configuration, e.g. jboss-datavirt63-driver-openshift:1.1", "name": "EXTENSIONS_IMAGE", "value": "jboss-datavirt63-driver-openshift:1.1", "required": true @@ -106,13 +106,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "eap-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -233,6 +226,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -285,6 +284,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -391,7 +416,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-eap71-openshift:TP" + "name": "jboss-eap71-openshift:1.1" } } }, @@ -478,13 +503,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "configuration", @@ -509,7 +538,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -544,16 +574,16 @@ ], "env": [ { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "ENV_FILES", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-tx-recovery-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-tx-recovery-s2i.json new file mode 100644 index 000000000..e2525c7e7 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/eap71-tx-recovery-s2i.json @@ -0,0 +1,605 @@ +{ + "kind": "Template", + "apiVersion": "v1", + "metadata": { + "annotations": { + "iconClass": "icon-eap", + "tags": "eap,javaee,java,jboss", + "version": "1.4.8", + "openshift.io/display-name": "JBoss EAP 7.1 (tx recovery)", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "description": "An example EAP 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", + "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Enterprise Application Server 7.1 based application, including a build configuration, application deployment configuration and insecure communication using http. The template also demonstrates how to enable automated transaction recovery on scale down of application pods. Automated transaction recovery is currently Technology Preview.", + "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/", + "template.openshift.io/support-url": "https://access.redhat.com" + }, + "name": "eap71-tx-recovery-s2i" + }, + "labels": { + "template": "eap71-tx-recovery-s2i", + "xpaas": "1.4.8" + }, + "message": "A new EAP 7 based application has been created in your project.", + "parameters": [ + { + "displayName": "Application Name", + "description": "The name for the application.", + "name": "APPLICATION_NAME", + "value": "eap-app", + "required": true + }, + { + "displayName": "Custom http Route Hostname", + "description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>", + "name": "HOSTNAME_HTTP", + "value": "", + "required": false + }, + { + "displayName": "Git Repository URL", + "description": "Git source URI for application", + "name": "SOURCE_REPOSITORY_URL", + "value": "https://github.com/jboss-developer/jboss-eap-quickstarts", + "required": true + }, + { + "displayName": "Git Reference", + "description": "Git branch/tag reference", + "name": "SOURCE_REPOSITORY_REF", + "value": "7.0.0.GA", + "required": false + }, + { + "displayName": "Context Directory", + "description": "Path within Git project to build; empty for root project directory.", + "name": "CONTEXT_DIR", + "value": "kitchensink", + "required": false + }, + { + "displayName": "Queues", + "description": "Queue names", + "name": "MQ_QUEUES", + "value": "", + "required": false + }, + { + "displayName": "Topics", + "description": "Topic names", + "name": "MQ_TOPICS", + "value": "", + "required": false + }, + { + "displayName": "A-MQ cluster password", + "description": "A-MQ cluster admin password", + "name": "MQ_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Github Webhook Secret", + "description": "GitHub trigger secret", + "name": "GITHUB_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Generic Webhook Secret", + "description": "Generic build trigger secret", + "name": "GENERIC_WEBHOOK_SECRET", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "ImageStream Namespace", + "description": "Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.", + "name": "IMAGE_STREAM_NAMESPACE", + "value": "openshift", + "required": true + }, + { + "displayName": "JGroups Cluster Password", + "description": "JGroups cluster password", + "name": "JGROUPS_CLUSTER_PASSWORD", + "from": "[a-zA-Z0-9]{8}", + "generate": "expression", + "required": true + }, + { + "displayName": "Deploy Exploded Archives", + "description": "Controls whether exploded deployment content should be automatically deployed", + "name": "AUTO_DEPLOY_EXPLODED", + "value": "false", + "required": false + }, + { + "displayName": "Maven mirror URL", + "description": "Maven mirror to use for S2I builds", + "name": "MAVEN_MIRROR_URL", + "value": "", + "required": false + }, + { + "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.", + "name": "ARTIFACT_DIR", + "value": "", + "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false + }, + { + "displayName": "EAP Volume Size", + "description": "Size of the volume used by EAP for persisting data.", + "name": "VOLUME_CAPACITY", + "value": "1Gi", + "required": true + }, + { + "displayName": "Split the data directory?", + "description": "Split the data directory for each node in a cluster.", + "name": "SPLIT_DATA", + "value": "true", + "required": false + } + ], + "objects": [ + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "ports": [ + { + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "The web server's http port." + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { + "kind": "Route", + "apiVersion": "v1", + "id": "${APPLICATION_NAME}-http", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "description": "Route for application's http service." + } + }, + "spec": { + "host": "${HOSTNAME_HTTP}", + "to": { + "name": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "env": [ + { + "name": "MAVEN_MIRROR_URL", + "value": "${MAVEN_MIRROR_URL}" + }, + { + "name": "ARTIFACT_DIR", + "value": "${ARTIFACT_DIR}" + } + ], + "forcePull": true, + "from": { + "kind": "ImageStreamTag", + "namespace": "${IMAGE_STREAM_NAMESPACE}", + "name": "jboss-eap71-openshift:1.1" + } + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + }, + "triggers": [ + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + }, + { + "type": "ImageChange", + "imageChange": {} + }, + { + "type": "ConfigChange" + } + ] + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}", + "image": "${APPLICATION_NAME}", + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "livenessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/livenessProbe.sh" + ] + }, + "initialDelaySeconds": 60 + }, + "readinessProbe": { + "exec": { + "command": [ + "/bin/bash", + "-c", + "/opt/eap/bin/readinessProbe.sh" + ] + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "v1", + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "${APPLICATION_NAME}-migration" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${APPLICATION_NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-migration" + }, + "template": { + "metadata": { + "name": "${APPLICATION_NAME}-migration", + "labels": { + "deploymentConfig": "${APPLICATION_NAME}-migration", + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "terminationGracePeriodSeconds": 75, + "containers": [ + { + "name": "${APPLICATION_NAME}-migration", + "image": "${APPLICATION_NAME}", + "command": [ + "/opt/eap/bin/openshift-migrate.sh" + ], + "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, + "volumeMounts": [ + { + "mountPath": "/opt/eap/standalone/partitioned_data", + "name": "${APPLICATION_NAME}-eap-pvol" + } + ], + "ports": [ + { + "name": "jolokia", + "containerPort": 8778, + "protocol": "TCP" + }, + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + }, + { + "name": "ping", + "containerPort": 8888, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" + }, + { + "name": "MQ_CLUSTER_PASSWORD", + "value": "${MQ_CLUSTER_PASSWORD}" + }, + { + "name": "MQ_QUEUES", + "value": "${MQ_QUEUES}" + }, + { + "name": "MQ_TOPICS", + "value": "${MQ_TOPICS}" + }, + { + "name": "JGROUPS_CLUSTER_PASSWORD", + "value": "${JGROUPS_CLUSTER_PASSWORD}" + }, + { + "name": "AUTO_DEPLOY_EXPLODED", + "value": "${AUTO_DEPLOY_EXPLODED}" + }, + { + "name": "SPLIT_DATA", + "value": "${SPLIT_DATA}" + } + ] + } + ], + "volumes": [ + { + "name": "${APPLICATION_NAME}-eap-pvol", + "persistentVolumeClaim": { + "claimName": "${APPLICATION_NAME}-eap-claim" + } + } + ] + } + } + } + }, + { + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": { + "name": "${APPLICATION_NAME}-eap-claim", + "labels": { + "application": "${APPLICATION_NAME}" + } + }, + "spec": { + "accessModes": [ + "ReadWriteMany" + ], + "resources": { + "requests": { + "storage": "${VOLUME_CAPACITY}" + } + } + } + } + ] +} diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-basic-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-basic-s2i.json index 42e352538..146cbeb0e 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-basic-s2i.json @@ -7,14 +7,14 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 (no https)" }, "name": "jws31-tomcat7-basic-s2i" }, "labels": { "template": "jws31-tomcat7-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new JWS application for Apache Tomcat 7 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}.", "parameters": [ diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-https-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-https-s2i.json index b0a81d9c3..8de78d6b6 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-https-s2i.json @@ -7,7 +7,7 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example JBoss Web Server application configured for use with https. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 (with https)", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 7 based application, including a build configuration, and application deployment configuration. This also illustrations how to connect to the web applicaiton using https.", "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-web-server/", @@ -18,9 +18,9 @@ }, "labels": { "template": "jws31-tomcat7-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -359,7 +359,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json index 565f97822..97b0df4c3 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mongodb-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + MongoDB (with https)", "description": "An example JBoss Web Server application with a MongoDB database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 7 based application, including a build configuration, application deployment configuration, database deployment configuration for MongoDB using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "jws31-tomcat7-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -472,7 +472,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mongodb-s2i.json index fc473f5c3..28155b34b 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mongodb-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MongoDB applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + MongoDB (Ephemeral with https)" }, "name": "jws31-tomcat7-mongodb-s2i" }, "labels": { "template": "jws31-tomcat7-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -462,7 +462,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -664,8 +663,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json index 1223acd0f..0a87c85a9 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mysql-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Red Hat JBoss Web Server 3.1 Apache Tomcat 7 + MySQL (with https)", "description": "An example JBoss Web Server application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 7 based application, including a build configuration, application deployment configuration, database deployment configuration for MySQL using persistence and secure communication using https.", @@ -18,9 +18,9 @@ }, "labels": { "template": "jws31-tomcat7-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -82,7 +82,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -477,7 +477,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mysql-s2i.json index 39becd41e..b77f0cc22 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-mysql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MySQL applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + MySQL (Ephemeral with https)" }, "name": "jws31-tomcat7-mysql-s2i" }, "labels": { "template": "jws31-tomcat7-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -466,7 +466,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -667,8 +666,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json index 77f4f8c9f..4fabc2cb4 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-postgresql-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat7,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + PostgreSQL (with https)", "description": "An example JBoss Web Server application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, application deployment configuration, database deployment configuration for PostgreSQL using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "jws31-tomcat7-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -458,7 +458,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-postgresql-s2i.json index 6d1d7aef7..64eaff560 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat7-postgresql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS PostgreSQL applications built using S2I.", "tags": "tomcat,tomcat7,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 7 + PostgreSQL (Ephemeral with https)" }, "name": "jws31-tomcat7-postgresql-s2i" }, "labels": { "template": "jws31-tomcat7-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 7 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -448,7 +448,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -641,8 +640,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-basic-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-basic-s2i.json index 9e7dc3488..5cc2a565f 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-basic-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 (no https)", "description": "An example JBoss Web Server application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, and an application deployment configuration.", @@ -17,7 +17,7 @@ }, "labels": { "template": "jws31-tomcat8-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new JWS application for Apache Tomcat 8 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}.", "parameters": [ diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-https-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-https-s2i.json index 8fd5d9fab..9d197649b 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-https-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-https-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 (with https)", "description": "An example JBoss Web Server application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, application deployment configuration, and secure communication using https.", @@ -18,9 +18,9 @@ }, "labels": { "template": "jws31-tomcat8-https-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -359,7 +359,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json index f4b11ccfa..51bd9e7cc 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mongodb-persistent-s2i.json @@ -4,7 +4,7 @@ "metadata": { "annotations": { "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MongoDB (with https)", @@ -16,10 +16,10 @@ }, "name": "jws31-tomcat8-mongodb-persistent-s2i" }, - "message": "A new persistent JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "labels": { "template": "jws31-tomcat8-mongodb-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "parameters": [ { @@ -82,7 +82,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -473,7 +473,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mongodb-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mongodb-s2i.json index e2f69f157..9f2beef31 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mongodb-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MongoDB applications built using S2I.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MongoDB (Ephemeral with https)" }, "name": "jws31-tomcat8-mongodb-s2i" }, "labels": { "template": "jws31-tomcat8-mongodb-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 (using MongoDB) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MongoDB database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD} (Admin password is \"${DB_ADMIN_PASSWORD}\"). Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -462,7 +462,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -664,8 +663,22 @@ "name": "MONGODB_QUIET", "value": "${MONGODB_QUIET}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mongodb/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json index 579071cb1..5213cc261 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mysql-persistent-s2i.json @@ -6,7 +6,7 @@ "iconClass": "icon-rh-tomcat", "openshift.io/provider-display-name": "Red Hat, Inc.", "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MySQL (with https)", "description": "An example JBoss Web Server application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss Web Server 3.1 Apache Tomcat 8 based application, including a build configuration, application deployment configuration, database deployment configuration for MySQL using persistence and secure communication using https.", @@ -17,9 +17,9 @@ }, "labels": { "template": "jws31-tomcat8-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -81,7 +81,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -476,7 +476,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mysql-s2i.json index e84d61608..1ccd4fa37 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-mysql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS MySQL applications built using S2I.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + MySQL (Ephemeral with https)" }, "name": "jws31-tomcat8-mysql-s2i" }, "labels": { "template": "jws31-tomcat8-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 (using MySQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -466,7 +466,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { @@ -667,8 +666,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json index 83a6ca19b..86d8c0fa8 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-postgresql-persistent-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS PostgreSQL applications with persistent storage built using S2I.", "tags": "tomcat,tomcat8,java,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.1 Apache Tomcat 8 + PostgreSQL (with https)" }, "name": "jws31-tomcat8-postgresql-persistent-s2i" }, "labels": { "template": "jws31-tomcat8-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new persistent JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -78,7 +78,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -455,7 +455,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-postgresql-s2i.json index e28cf8a04..b77234318 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/jws31-tomcat8-postgresql-s2i.json @@ -7,16 +7,16 @@ "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "Application template for JWS PostgreSQL applications built using S2I.", "tags": "tomcat,tomcat8,java,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss Web Server 3.0 Apache Tomcat 8 + PostgreSQL (Ephemeral with https)" }, "name": "jws31-tomcat8-postgresql-s2i" }, "labels": { "template": "jws31-tomcat8-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"jws-service-account\" service account and the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", + "message": "A new JWS application for Apache Tomcat 8 (using PostgreSQL) has been created in your project. The username/password for administering your JWS is ${JWS_ADMIN_USERNAME}/${JWS_ADMIN_PASSWORD}. For accessing the PostgreSQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${JWS_HTTPS_SECRET}\" containing the ${JWS_HTTPS_CERTIFICATE} file used for serving secure content.", "parameters": [ { "displayName": "Application Name", @@ -448,7 +448,6 @@ } }, "spec": { - "serviceAccountName": "jws-service-account", "containers": [ { "name": "${APPLICATION_NAME}", @@ -639,8 +638,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-amq-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-amq-template.json index aad649f84..3415bba4a 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-amq-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-amq-template.json @@ -3,7 +3,7 @@ "kind": "Template", "metadata": { "annotations": { - "description": "Camel route using ActiveMQ in Karaf container. This quickstart shows how to use Camel in a Karaf Container using Blueprint to connect to the A-MQ xPaaS message broker on OpenShift that should already be installed, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq62-basic template.", + "description": "Camel route using ActiveMQ in Karaf container. This quickstart shows how to use Camel in a Karaf Container using Blueprint to connect to the A-MQ xPaaS message broker on OpenShift that should already be installed, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq63-basic template.", "tags": "quickstart,java,karaf,fis", "iconClass": "icon-jboss", "version": "2.0" @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-camel-amq-1.0.0.redhat-000019", + "value": "karaf2-camel-amq-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-log-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-log-template.json index 38b7bc249..188ae1734 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-log-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-log-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-camel-log-1.0.0.redhat-000019", + "value": "karaf2-camel-log-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-rest-sql-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-rest-sql-template.json index 6d9573e5b..0ed72f39c 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-rest-sql-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-camel-rest-sql-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-camel-rest-sql-1.0.0.redhat-000019", + "value": "karaf2-camel-rest-sql-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -73,7 +73,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-cxf-rest-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-cxf-rest-template.json index fdc0c00e5..3a34eebae 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-cxf-rest-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/karaf2-cxf-rest-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "karaf2-cxf-rest-1.0.0.redhat-000019", + "value": "karaf2-cxf-rest-1.0.0.redhat-000022", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000019", + "value": "1.0.0.redhat-000022", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/openjdk18-web-basic-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/openjdk18-web-basic-s2i.json index 6336f0398..466dfb984 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/openjdk18-web-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/openjdk18-web-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-rh-openjdk", "tags": "java", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "OpenJDK 8", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example Java application using OpenJDK 8. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "openjdk18-web-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new java application has been created in your project.", "parameters": [ diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json index 9ef04ae71..ec1619137 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-mysql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-amq-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -152,7 +152,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -302,7 +302,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -354,6 +354,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -456,6 +462,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -547,7 +579,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -624,13 +656,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -645,7 +681,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -1000,7 +1037,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -1107,7 +1144,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-mysql-s2i.json index 4cb45db42..0deb96c82 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-amq-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using MySQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -288,7 +288,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -340,6 +340,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -442,6 +448,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -533,7 +565,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -610,13 +642,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -631,7 +667,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -885,8 +922,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } @@ -916,7 +967,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -1013,7 +1064,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json index 56fefcc0a..92767f3b5 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-amq-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -152,7 +152,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -284,7 +284,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -336,6 +336,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -438,6 +444,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -529,7 +561,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -606,13 +638,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -627,7 +663,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -970,7 +1007,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -1077,7 +1114,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-postgresql-s2i.json index bb8d2df28..add35a349 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-amq-postgresql-s2i.json @@ -6,7 +6,7 @@ "description": "Application template for Red Hat JBoss BPM Suite 6.4 intelligent process server AMQ and PostgreSQL applications built using S2I.", "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + A-MQ + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with A-MQ and a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "processserver64-amq-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using PostgreSQL and A-MQ) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. And for the A-MQ service use the credentials ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -271,7 +271,7 @@ "displayName": "A-MQ Mesh Discovery Type", "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", "name": "AMQ_MESH_DISCOVERY_TYPE", - "value": "kube", + "value": "dns", "required": false }, { @@ -323,6 +323,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -425,6 +431,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "mesh", + "port": 61616 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}-amq" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-amq-mesh", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "Supports node discovery for mesh formation." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -516,7 +548,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -593,13 +625,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -614,7 +650,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -856,8 +893,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } @@ -887,7 +938,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-amq-63:1.2" + "name": "jboss-amq-63:1.3" } } }, @@ -984,7 +1035,7 @@ }, { "name": "AMQ_MESH_SERVICE_NAME", - "value": "${APPLICATION_NAME}-amq-tcp" + "value": "${APPLICATION_NAME}-amq-mesh" }, { "name": "AMQ_MESH_SERVICE_NAMESPACE", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-basic-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-basic-s2i.json index 1b7cc8cf1..9af4b6cb4 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-basic-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server (no https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,7 +17,7 @@ }, "labels": { "template": "processserver64-basic-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, "message": "A new BPMS application has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}.", "parameters": [ @@ -142,6 +142,12 @@ "name": "ARTIFACT_DIR", "value": "", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -238,7 +244,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -321,6 +327,11 @@ "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "livenessProbe": { "exec": { "command": [ @@ -328,7 +339,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-mysql-persistent-s2i.json index 1a4d0887c..97388a2e1 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-mysql-persistent-s2i.json @@ -6,7 +6,7 @@ "description": "Application template for Red Hat JBoss BPM Suite 6.4 intelligent process server MySQL applications with persistent storage built using S2I.", "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + MySQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -18,9 +18,9 @@ }, "labels": { "template": "processserver64-mysql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -132,7 +132,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -291,6 +291,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -460,7 +466,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -537,13 +543,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -558,7 +568,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-mysql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-mysql-s2i.json index 7c491d832..2e7dc3158 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-mysql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + MySQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-mysql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using MySQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -283,6 +283,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -452,7 +458,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -529,13 +535,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -550,7 +560,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -776,8 +787,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-postgresql-persistent-s2i.json index 8965ea41f..66dc891cb 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-postgresql-persistent-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + PostgreSQL (with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-postgresql-persistent-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new persistent BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -131,7 +131,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -272,6 +272,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -441,7 +447,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -518,13 +524,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -539,7 +549,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-postgresql-s2i.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-postgresql-s2i.json index e21f0ce4e..bb9efc2bb 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/processserver64-postgresql-s2i.json @@ -5,7 +5,7 @@ "annotations": { "iconClass": "icon-processserver", "tags": "processserver,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "JBoss BPM Suite 6.4 intelligent process server + PostgreSQL (Ephemeral with https)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example BPM Suite application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "processserver64-postgresql-s2i", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"processserver-service-account\" service account and the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", + "message": "A new BPMS application (using PostgreSQL) has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}. For accessing the MySQL database \"${DB_DATABASE}\" use the credentials ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the secret named \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content.", "parameters": [ { "displayName": "KIE Container Deployment", @@ -265,6 +265,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -434,7 +440,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "jboss-processserver64-openshift:1.1" + "name": "jboss-processserver64-openshift:1.2" } } }, @@ -511,13 +517,17 @@ } }, "spec": { - "serviceAccountName": "processserver-service-account", "terminationGracePeriodSeconds": 60, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "processserver-keystore-volume", @@ -532,7 +542,8 @@ "-c", "/opt/eap/bin/livenessProbe.sh" ] - } + }, + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -746,8 +757,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-amq-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-amq-template.json index 2c1a73a29..89f10f955 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-amq-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-amq-template.json @@ -3,7 +3,7 @@ "kind": "Template", "metadata": { "annotations": { - "description": "Spring Boot, Camel and ActiveMQ QuickStart. This quickstart demonstrates how to connect a Spring-Boot application to an ActiveMQ broker and use JMS messaging between two Camel routes using OpenShift. In this example we will use two containers, one container to run as a ActiveMQ broker, and another as a client to the broker, where the Camel routes are running. This quickstart requires the ActiveMQ broker has been deployed and running first, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq62-basic template", + "description": "Spring Boot, Camel and ActiveMQ QuickStart. This quickstart demonstrates how to connect a Spring-Boot application to an ActiveMQ broker and use JMS messaging between two Camel routes using OpenShift. In this example we will use two containers, one container to run as a ActiveMQ broker, and another as a client to the broker, where the Camel routes are running. This quickstart requires the ActiveMQ broker has been deployed and running first, one simple way to run a A-MQ service is following the documentation of the A-MQ xPaaS image for OpenShift related to the amq63-basic template", "tags": "quickstart,java,springboot,fis", "iconClass": "icon-jboss", "version": "2.0" @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-amq-1.0.0.redhat-000064", + "value": "spring-boot-camel-amq-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -60,7 +60,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-config-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-config-template.json index b62e768b6..6b298b994 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-config-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-config-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-config-1.0.0.redhat-000014", + "value": "spring-boot-camel-config-1.0.0.redhat-000017", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -64,7 +64,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000014", + "value": "1.0.0.redhat-000017", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-drools-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-drools-template.json index 91081e493..e646ccdb4 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-drools-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-drools-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-drools-1.0.0.redhat-000063", + "value": "spring-boot-camel-drools-1.0.0.redhat-000066", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -63,7 +63,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000063", + "value": "1.0.0.redhat-000066", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-infinispan-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-infinispan-template.json index 8d97400ab..1d4910b9a 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-infinispan-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-infinispan-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-infinispan-1.0.0.redhat-000033", + "value": "spring-boot-camel-infinispan-1.0.0.redhat-000036", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -50,7 +50,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000033", + "value": "1.0.0.redhat-000036", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-rest-sql-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-rest-sql-template.json index bf722844c..61f6cb983 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-rest-sql-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-rest-sql-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-rest-sql-1.0.0.redhat-000064", + "value": "spring-boot-camel-rest-sql-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -72,7 +72,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-teiid-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-teiid-template.json index 856264615..1f5542069 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-teiid-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-teiid-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-teiid-1.0.0.redhat-000062", + "value": "spring-boot-camel-teiid-1.0.0.redhat-000065", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -68,7 +68,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000062", + "value": "1.0.0.redhat-000065", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-template.json index 9c0fe287e..939979912 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-1.0.0.redhat-000064", + "value": "spring-boot-camel-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -43,7 +43,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-xml-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-xml-template.json index 87c0e347a..c5691bc9b 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-xml-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-camel-xml-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-camel-xml-1.0.0.redhat-000064", + "value": "spring-boot-camel-xml-1.0.0.redhat-000067", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -43,7 +43,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000064", + "value": "1.0.0.redhat-000067", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-cxf-jaxrs-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-cxf-jaxrs-template.json index 8b0261035..577eebf58 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-cxf-jaxrs-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-cxf-jaxrs-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-cxf-jaxrs-1.0.0.redhat-000014", + "value": "spring-boot-cxf-jaxrs-1.0.0.redhat-000017", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000014", + "value": "1.0.0.redhat-000017", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-cxf-jaxws-template.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-cxf-jaxws-template.json index 8b36f5f0b..11441276a 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-cxf-jaxws-template.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/spring-boot-cxf-jaxws-template.json @@ -31,7 +31,7 @@ { "name": "GIT_REF", "displayName": "Git Reference", - "value": "spring-boot-cxf-jaxws-1.0.0.redhat-000014", + "value": "spring-boot-cxf-jaxws-1.0.0.redhat-000017", "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." }, { @@ -49,7 +49,7 @@ { "name": "APP_VERSION", "displayName": "Application Version", - "value": "1.0.0.redhat-000014", + "value": "1.0.0.redhat-000017", "description": "The application version." }, { diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-https.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-https.json index 26dd26624..655ec2eaa 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-https.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-https.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-https", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new SSO service has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new SSO service has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -43,13 +43,6 @@ "required": false }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -202,6 +195,12 @@ "name": "SSO_TRUSTSTORE_SECRET", "value": "sso-app-secret", "required": false + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -254,6 +253,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -320,7 +345,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -341,13 +366,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -365,17 +394,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -384,7 +402,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -431,16 +449,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-mysql-persistent.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-mysql-persistent.json index 7092bb65e..83de1ab37 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-mysql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-mysql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + MySQL", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-mysql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new persistent SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -166,7 +159,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -276,6 +269,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -354,6 +353,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -420,7 +445,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -441,13 +466,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -465,17 +494,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -484,7 +502,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -555,16 +573,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-mysql.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-mysql.json index d90f0a0cc..269761dac 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-mysql.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-mysql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + MySQL (Ephemeral)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a MySQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-mysql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new SSO service (using MySQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the MySQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -269,6 +262,12 @@ "name": "MYSQL_IMAGE_STREAM_TAG", "value": "5.7", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -350,6 +349,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -419,7 +444,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -441,13 +466,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -465,17 +494,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -484,7 +502,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -555,16 +573,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -761,8 +779,22 @@ "name": "MYSQL_AIO", "value": "${MYSQL_AIO}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/mysql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-postgresql-persistent.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-postgresql-persistent.json index b1077db91..cd167d983 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-postgresql-persistent.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-postgresql-persistent.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + PostgreSQL", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-postgresql-persistent", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new persistent SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new persistent SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -148,7 +141,7 @@ "displayName": "Database Volume Capacity", "description": "Size of persistent storage for database volume.", "name": "VOLUME_CAPACITY", - "value": "512Mi", + "value": "1Gi", "required": true }, { @@ -258,6 +251,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -336,6 +335,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -402,7 +427,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -423,13 +448,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,17 +476,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -466,7 +484,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -537,16 +555,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", diff --git a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-postgresql.json b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-postgresql.json index 0955d712a..365383f8a 100644 --- a/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-postgresql.json +++ b/roles/openshift_examples/files/examples/v3.9/xpaas-templates/sso71-postgresql.json @@ -5,7 +5,7 @@ "annotations": { "iconClass" : "icon-sso", "tags" : "sso,keycloak,jboss,hidden", - "version": "1.4.7", + "version": "1.4.8", "openshift.io/display-name": "Single Sign-On 7.1 + PostgreSQL (Ephemeral)", "openshift.io/provider-display-name": "Red Hat, Inc.", "description": "An example SSO 7 application with a PostgreSQL database. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", @@ -17,9 +17,9 @@ }, "labels": { "template": "sso71-postgresql", - "xpaas": "1.4.7" + "xpaas": "1.4.8" }, - "message": "A new SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", + "message": "A new SSO service (using PostgreSQL) has been created in your project. The admin username/password for accessing the master realm via the SSO console is ${SSO_ADMIN_USERNAME}/${SSO_ADMIN_PASSWORD}. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the following secrets: \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications; \"${SSO_TRUSTSTORE_SECRET}\" containing the ${SSO_TRUSTSTORE} file used for securing SSO requests.", "parameters": [ { "displayName": "Application Name", @@ -57,13 +57,6 @@ "required": true }, { - "displayName": "Service Account Name", - "description": "The name of the service account to use for the deployment. The service account should be configured to allow useage of the secret(s) specified by HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.", - "name": "SERVICE_ACCOUNT_NAME", - "value": "sso-service-account", - "required": true - }, - { "displayName": "Server Keystore Secret Name", "description": "The name of the secret containing the keystore file", "name": "HTTPS_SECRET", @@ -251,6 +244,12 @@ "name": "POSTGRESQL_IMAGE_STREAM_TAG", "value": "9.5", "required": true + }, + { + "description": "Container memory limit", + "name": "MEMORY_LIMIT", + "value": "1Gi", + "required": false } ], "objects": [ @@ -332,6 +331,32 @@ } }, { + "kind": "Service", + "apiVersion": "v1", + "spec": { + "clusterIP": "None", + "ports": [ + { + "name": "ping", + "port": 8888 + } + ], + "selector": { + "deploymentConfig": "${APPLICATION_NAME}" + } + }, + "metadata": { + "name": "${APPLICATION_NAME}-ping", + "labels": { + "application": "${APPLICATION_NAME}" + }, + "annotations": { + "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true", + "description": "The JGroups ping port for clustering." + } + } + }, + { "kind": "Route", "apiVersion": "v1", "id": "${APPLICATION_NAME}-http", @@ -401,7 +426,7 @@ "from": { "kind": "ImageStreamTag", "namespace": "${IMAGE_STREAM_NAMESPACE}", - "name": "redhat-sso71-openshift:1.2" + "name": "redhat-sso71-openshift:1.3" } } }, @@ -423,13 +448,17 @@ } }, "spec": { - "serviceAccountName": "${SERVICE_ACCOUNT_NAME}", "terminationGracePeriodSeconds": 75, "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}", "imagePullPolicy": "Always", + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + }, "volumeMounts": [ { "name": "eap-keystore-volume", @@ -447,17 +476,6 @@ "readOnly": true } ], - "lifecycle": { - "preStop": { - "exec": { - "command": [ - "/opt/eap/bin/jboss-cli.sh", - "-c", - ":shutdown(timeout=60)" - ] - } - } - }, "livenessProbe": { "exec": { "command": [ @@ -466,7 +484,7 @@ "/opt/eap/bin/livenessProbe.sh" ] }, - "initialDelaySeconds": 10 + "initialDelaySeconds": 60 }, "readinessProbe": { "exec": { @@ -537,16 +555,16 @@ "value": "${DB_TX_ISOLATION}" }, { - "name": "OPENSHIFT_KUBE_PING_LABELS", - "value": "application=${APPLICATION_NAME}" + "name": "JGROUPS_PING_PROTOCOL", + "value": "openshift.DNS_PING" + }, + { + "name": "OPENSHIFT_DNS_PING_SERVICE_NAME", + "value": "${APPLICATION_NAME}-ping" }, { - "name": "OPENSHIFT_KUBE_PING_NAMESPACE", - "valueFrom": { - "fieldRef": { - "fieldPath": "metadata.namespace" - } - } + "name": "OPENSHIFT_DNS_PING_SERVICE_PORT", + "value": "8888" }, { "name": "HTTPS_KEYSTORE_DIR", @@ -735,8 +753,22 @@ "name": "POSTGRESQL_SHARED_BUFFERS", "value": "${POSTGRESQL_SHARED_BUFFERS}" } + ], + "volumeMounts": [ + { + "mountPath": "/var/lib/pgsql/data", + "name": "${APPLICATION_NAME}-data" + } ] } + ], + "volumes": [ + { + "emptyDir": { + "medium": "" + }, + "name": "${APPLICATION_NAME}-data" + } ] } } diff --git a/roles/openshift_facts/defaults/main.yml b/roles/openshift_facts/defaults/main.yml index a223ffba6..3b381b1e4 100644 --- a/roles/openshift_facts/defaults/main.yml +++ b/roles/openshift_facts/defaults/main.yml @@ -104,3 +104,6 @@ openshift_service_type_dict: openshift-enterprise: atomic-openshift openshift_service_type: "{{ openshift_service_type_dict[openshift_deployment_type] }}" + +# Create a list of node labels (dict) for schedulable nodes +openshift_schedulable_node_labels: "{{ groups['oo_nodes_to_config'] | lib_utils_oo_get_node_labels(hostvars) }}" diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py index 11a51b6bb..8d0f615b5 100755 --- a/roles/openshift_facts/library/openshift_facts.py +++ b/roles/openshift_facts/library/openshift_facts.py @@ -18,7 +18,7 @@ import socket import ipaddress from distutils.util import strtobool from distutils.version import LooseVersion -from ansible.module_utils.six import u +from ansible.module_utils.six import text_type from ansible.module_utils.six import string_types from ansible.module_utils.six.moves import configparser @@ -1153,7 +1153,7 @@ def set_proxy_facts(facts): if 'no_proxy_internal_hostnames' in common: common['no_proxy'].extend(common['no_proxy_internal_hostnames'].split(',')) # We always add local dns domain and ourselves no matter what - kube_svc_ip = str(ipaddress.ip_network(u(common['portal_net']))[1]) + kube_svc_ip = str(ipaddress.ip_network(text_type(common['portal_net']))[1]) common['no_proxy'].append(kube_svc_ip) common['no_proxy'].append('.' + common['dns_domain']) common['no_proxy'].append('.svc') diff --git a/roles/openshift_gcp/defaults/main.yml b/roles/openshift_gcp/defaults/main.yml index 18fc453b2..f0cbb2f32 100644 --- a/roles/openshift_gcp/defaults/main.yml +++ b/roles/openshift_gcp/defaults/main.yml @@ -56,3 +56,5 @@ openshift_gcp_node_group_config: openshift_gcp_startup_script_file: '' openshift_gcp_user_data_file: '' + +openshift_gcp_multizone: False diff --git a/roles/openshift_gcp/tasks/node_cloud_config.yml b/roles/openshift_gcp/tasks/node_cloud_config.yml index 4e982f497..c38a052ea 100644 --- a/roles/openshift_gcp/tasks/node_cloud_config.yml +++ b/roles/openshift_gcp/tasks/node_cloud_config.yml @@ -9,4 +9,4 @@ - { key: 'network-name', value: '{{ openshift_gcp_network_name }}' } - { key: 'node-tags', value: '{{ openshift_gcp_prefix }}ocp' } - { key: 'node-instance-prefix', value: '{{ openshift_gcp_prefix }}' } - - { key: 'multizone', value: 'false' } + - { key: 'multizone', value: '{{ openshift_gcp_multizone | string }}' } diff --git a/roles/openshift_health_checker/openshift_checks/ovs_version.py b/roles/openshift_health_checker/openshift_checks/ovs_version.py index 4352778c2..fa398e5a9 100644 --- a/roles/openshift_health_checker/openshift_checks/ovs_version.py +++ b/roles/openshift_health_checker/openshift_checks/ovs_version.py @@ -22,7 +22,7 @@ class OvsVersion(NotContainerizedMixin, OpenShiftCheck): (3, 7): ["2.6", "2.7", "2.8", "2.9"], (3, 8): ["2.6", "2.7", "2.8", "2.9"], (3, 9): ["2.6", "2.7", "2.8", "2.9"], - (3, 10): ["2.8", "2.9"], + (3, 10): ["2.7", "2.8", "2.9"], } def is_active(self): diff --git a/roles/openshift_health_checker/openshift_checks/package_version.py b/roles/openshift_health_checker/openshift_checks/package_version.py index 3e8c1dac3..68022deca 100644 --- a/roles/openshift_health_checker/openshift_checks/package_version.py +++ b/roles/openshift_health_checker/openshift_checks/package_version.py @@ -18,7 +18,7 @@ class PackageVersion(NotContainerizedMixin, OpenShiftCheck): (3, 7): ["2.6", "2.7", "2.8", "2.9"], (3, 8): ["2.6", "2.7", "2.8", "2.9"], (3, 9): ["2.6", "2.7", "2.8", "2.9"], - (3, 10): ["2.8", "2.9"], + (3, 10): ["2.7", "2.8", "2.9"], } openshift_to_docker_version = { diff --git a/roles/openshift_logging/library/openshift_logging_facts.py b/roles/openshift_logging/library/openshift_logging_facts.py index 37ffb0204..a7f9fdc8e 100644 --- a/roles/openshift_logging/library/openshift_logging_facts.py +++ b/roles/openshift_logging/library/openshift_logging_facts.py @@ -208,9 +208,10 @@ class OpenshiftLoggingFacts(OCBaseCommand): def facts_from_configmap(self, comp, kind, name, config_key, yaml_file=None): '''Extracts facts in logging namespace from configmap''' if yaml_file is not None: - config_facts = yaml.load(yaml_file) - self.facts[comp][kind][name][config_key] = config_facts - self.facts[comp][kind][name]["raw"] = yaml_file + if config_key.endswith(".yml") or config_key.endswith(".yaml"): + config_facts = yaml.load(yaml_file) + self.facts[comp][kind][name][config_key] = config_facts + self.facts[comp][kind][name][config_key]["raw"] = yaml_file def facts_for_configmaps(self, namespace): ''' Gathers facts for configmaps in logging namespace ''' diff --git a/roles/openshift_logging_curator/tasks/main.yaml b/roles/openshift_logging_curator/tasks/main.yaml index 6e8605d28..456a25082 100644 --- a/roles/openshift_logging_curator/tasks/main.yaml +++ b/roles/openshift_logging_curator/tasks/main.yaml @@ -14,6 +14,13 @@ - include_tasks: determine_version.yaml +- name: Ensure that logging curator has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for logging curator - '{{ openshift_logging_curator_nodeselector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_logging_curator_nodeselector) + # allow passing in a tempdir - name: Create temp directory for doing work in command: mktemp -d /tmp/openshift-logging-ansible-XXXXXX diff --git a/roles/openshift_logging_curator/vars/default_images.yml b/roles/openshift_logging_curator/vars/default_images.yml index 208b41afa..503be9b58 100644 --- a/roles/openshift_logging_curator/vars/default_images.yml +++ b/roles/openshift_logging_curator/vars/default_images.yml @@ -1,3 +1,3 @@ --- __openshift_logging_curator_image_prefix: "{{ openshift_logging_image_prefix | default('docker.io/openshift/origin-') }}" -__openshift_logging_curator_image_version: "{{ openshift_logging_image_version | default('latest') }}" +__openshift_logging_curator_image_version: "{{ openshift_logging_image_version | default(openshift_image_tag) }}" diff --git a/roles/openshift_logging_curator/vars/openshift-enterprise.yml b/roles/openshift_logging_curator/vars/openshift-enterprise.yml index 79cf131fd..e0507fe3c 100644 --- a/roles/openshift_logging_curator/vars/openshift-enterprise.yml +++ b/roles/openshift_logging_curator/vars/openshift-enterprise.yml @@ -1,3 +1,3 @@ --- __openshift_logging_curator_image_prefix: "{{ openshift_logging_image_prefix | default('registry.access.redhat.com/openshift3/') }}" -__openshift_logging_curator_image_version: "{{ openshift_logging_image_version | default ('v3.7') }}" +__openshift_logging_curator_image_version: "{{ openshift_logging_image_version | default (openshift_image_tag) }}" diff --git a/roles/openshift_logging_elasticsearch/tasks/get_es_version.yml b/roles/openshift_logging_elasticsearch/tasks/get_es_version.yml index 16de6f252..7c4ecaa5b 100644 --- a/roles/openshift_logging_elasticsearch/tasks/get_es_version.yml +++ b/roles/openshift_logging_elasticsearch/tasks/get_es_version.yml @@ -1,21 +1,21 @@ --- - command: > - oc get pod -l component=es,provider=openshift -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[?(@.status.phase==\"Running\")].metadata.name} + {{ openshift_client_binary }} get pod -l component=es,provider=openshift -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[?(@.status.phase==\"Running\")].metadata.name} register: _cluster_pods - name: "Getting ES version for logging-es cluster" command: > - oc exec {{ _cluster_pods.stdout.split(' ')[0] }} -c elasticsearch -n {{ openshift_logging_elasticsearch_namespace }} -- {{ __es_local_curl }} -XGET 'https://localhost:9200/' + {{ openshift_client_binary }} exec {{ _cluster_pods.stdout.split(' ')[0] }} -c elasticsearch -n {{ openshift_logging_elasticsearch_namespace }} -- {{ __es_local_curl }} -XGET 'https://localhost:9200/' register: _curl_output when: _cluster_pods.stdout_lines | count > 0 - command: > - oc get pod -l component=es-ops,provider=openshift -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[?(@.status.phase==\"Running\")].metadata.name} + {{ openshift_client_binary }} get pod -l component=es-ops,provider=openshift -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[?(@.status.phase==\"Running\")].metadata.name} register: _ops_cluster_pods - name: "Getting ES version for logging-es-ops cluster" command: > - oc exec {{ _ops_cluster_pods.stdout.split(' ')[0] }} -c elasticsearch -n {{ openshift_logging_elasticsearch_namespace }} -- {{ __es_local_curl }} -XGET 'https://localhost:9200/' + {{ openshift_client_binary }} exec {{ _ops_cluster_pods.stdout.split(' ')[0] }} -c elasticsearch -n {{ openshift_logging_elasticsearch_namespace }} -- {{ __es_local_curl }} -XGET 'https://localhost:9200/' register: _ops_curl_output when: _ops_cluster_pods.stdout_lines | count > 0 diff --git a/roles/openshift_logging_elasticsearch/tasks/main.yaml b/roles/openshift_logging_elasticsearch/tasks/main.yaml index 8a174f0d5..64e5a3a1f 100644 --- a/roles/openshift_logging_elasticsearch/tasks/main.yaml +++ b/roles/openshift_logging_elasticsearch/tasks/main.yaml @@ -1,4 +1,11 @@ --- +- name: Ensure that ElasticSearch has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for Elasticsearch - '{{ openshift_logging_es_nodeselector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_logging_es_nodeselector) + - name: Validate Elasticsearch cluster size fail: msg="The openshift_logging_es_cluster_size may only be scaled down manually. Please see official documentation on how to do this." when: openshift_logging_facts.elasticsearch.deploymentconfigs | length > openshift_logging_es_cluster_size|int @@ -18,8 +25,8 @@ - name: Set default image variables based on openshift_deployment_type include_vars: "{{ var_file_name }}" with_first_found: - - "{{ openshift_deployment_type }}.yml" - - "default_images.yml" + - "{{ openshift_deployment_type }}.yml" + - "default_images.yml" loop_control: loop_var: var_file_name @@ -35,14 +42,14 @@ - set_fact: full_restart_cluster: True when: - - _es_installed_version is defined - - _es_installed_version.split('.')[0] | int < __es_version.split('.')[0] | int + - _es_installed_version is defined + - _es_installed_version.split('.')[0] | int < __es_version.split('.')[0] | int - set_fact: full_restart_cluster: True when: - - _es_ops_installed_version is defined - - _es_ops_installed_version.split('.')[0] | int < __es_version.split('.')[0] | int + - _es_ops_installed_version is defined + - _es_ops_installed_version.split('.')[0] | int < __es_version.split('.')[0] | int # allow passing in a tempdir - name: Create temp directory for doing work in @@ -78,7 +85,7 @@ name: "aggregated-logging-elasticsearch" namespace: "{{ openshift_logging_elasticsearch_namespace }}" when: - - openshift_logging_image_pull_secret == '' + - openshift_logging_image_pull_secret == '' # rolebinding reader - name: Create rolebinding-reader role @@ -86,9 +93,9 @@ state: present name: rolebinding-reader rules: - - apiGroups: [""] - resources: ["clusterrolebindings"] - verbs: ["get"] + - apiGroups: [""] + resources: ["clusterrolebindings"] + verbs: ["get"] # SA roles - name: Set rolebinding-reader permissions for ES @@ -128,8 +135,8 @@ - fail: msg: "There was an error creating the logging-metrics-role and binding: {{prometheus_out}}" when: - - "prometheus_out.stderr | length > 0" - - "'already exists' not in prometheus_out.stderr" + - "prometheus_out.stderr | length > 0" + - "'already exists' not in prometheus_out.stderr" - set_fact: _logging_metrics_proxy_passwd: "{{ 16 | lib_utils_oo_random_word | b64encode }}" @@ -151,8 +158,8 @@ roleRef: name: view subjects: - - kind: ServiceAccount - name: aggregated-logging-elasticsearch + - kind: ServiceAccount + name: aggregated-logging-elasticsearch changed_when: no - name: Set logging-elasticsearch-view-role role @@ -162,18 +169,18 @@ kind: rolebinding namespace: "{{ openshift_logging_elasticsearch_namespace }}" files: - - "{{ tempdir }}/logging-elasticsearch-view-role.yaml" + - "{{ tempdir }}/logging-elasticsearch-view-role.yaml" delete_after: true # configmap - assert: that: - - openshift_logging_elasticsearch_kibana_index_mode in __kibana_index_modes + - openshift_logging_elasticsearch_kibana_index_mode in __kibana_index_modes msg: "The openshift_logging_elasticsearch_kibana_index_mode '{{ openshift_logging_elasticsearch_kibana_index_mode }}' only supports one of: {{ __kibana_index_modes | join(', ') }}" - assert: that: - - "{{ openshift_logging_es_log_appenders | length > 0 }}" + - "{{ openshift_logging_es_log_appenders | length > 0 }}" msg: "The openshift_logging_es_log_appenders '{{ openshift_logging_es_log_appenders }}' has an unrecognized option and only supports the following as a list: {{ __es_log_appenders | join(', ') }}" - template: @@ -189,81 +196,81 @@ # create diff between current configmap files and our current files - when: not openshift_logging_es5_techpreview block: - - template: - src: "{{ __base_file_dir }}/elasticsearch-logging.yml.j2" - dest: "{{ tempdir }}/elasticsearch-logging.yml" - vars: - root_logger: "{{openshift_logging_es_log_appenders | join(', ')}}" - changed_when: no - - - include_role: - name: openshift_logging - tasks_from: patch_configmap_files.yaml - vars: - configmap_name: "logging-elasticsearch" - configmap_namespace: "logging" - configmap_file_names: - - current_file: "elasticsearch.yml" - new_file: "{{ tempdir }}/elasticsearch.yml" - protected_lines: ["number_of_shards", "number_of_replicas"] - - current_file: "logging.yml" - new_file: "{{ tempdir }}/elasticsearch-logging.yml" - - - name: Set ES configmap - oc_configmap: - state: present - name: "{{ elasticsearch_name }}" - namespace: "{{ openshift_logging_elasticsearch_namespace }}" - from_file: - elasticsearch.yml: "{{ tempdir }}/elasticsearch.yml" - logging.yml: "{{ tempdir }}/elasticsearch-logging.yml" - register: es_config_creation - notify: "restart elasticsearch" + - template: + src: "{{ __base_file_dir }}/elasticsearch-logging.yml.j2" + dest: "{{ tempdir }}/elasticsearch-logging.yml" + vars: + root_logger: "{{openshift_logging_es_log_appenders | join(', ')}}" + changed_when: no + + - include_role: + name: openshift_logging + tasks_from: patch_configmap_files.yaml + vars: + configmap_name: "logging-elasticsearch" + configmap_namespace: "logging" + configmap_file_names: + - current_file: "elasticsearch.yml" + new_file: "{{ tempdir }}/elasticsearch.yml" + protected_lines: ["number_of_shards", "number_of_replicas"] + - current_file: "logging.yml" + new_file: "{{ tempdir }}/elasticsearch-logging.yml" + + - name: Set ES configmap + oc_configmap: + state: present + name: "{{ elasticsearch_name }}" + namespace: "{{ openshift_logging_elasticsearch_namespace }}" + from_file: + elasticsearch.yml: "{{ tempdir }}/elasticsearch.yml" + logging.yml: "{{ tempdir }}/elasticsearch-logging.yml" + register: es_config_creation + notify: "restart elasticsearch" - when: openshift_logging_es5_techpreview | bool block: - - template: - src: "{{ __base_file_dir }}/log4j2.properties.j2" - dest: "{{ tempdir }}/log4j2.properties" - vars: - root_logger: "{{ openshift_logging_es_log_appenders | list }}" - changed_when: no - - - include_role: - name: openshift_logging - tasks_from: patch_configmap_files.yaml - vars: - configmap_name: "logging-elasticsearch" - configmap_namespace: "logging" - configmap_file_names: - - current_file: "elasticsearch.yml" - new_file: "{{ tempdir }}/elasticsearch.yml" - - current_file: "log4j2.properties" - new_file: "{{ tempdir }}/log4j2.properties" - - - name: Set ES configmap - oc_configmap: - state: present - name: "{{ elasticsearch_name }}" - namespace: "{{ openshift_logging_elasticsearch_namespace }}" - from_file: - elasticsearch.yml: "{{ tempdir }}/elasticsearch.yml" - log4j2.properties: "{{ tempdir }}/log4j2.properties" - register: es_config_creation - notify: "restart elasticsearch" + - template: + src: "{{ __base_file_dir }}/log4j2.properties.j2" + dest: "{{ tempdir }}/log4j2.properties" + vars: + root_logger: "{{ openshift_logging_es_log_appenders | list }}" + changed_when: no + + - include_role: + name: openshift_logging + tasks_from: patch_configmap_files.yaml + vars: + configmap_name: "logging-elasticsearch" + configmap_namespace: "logging" + configmap_file_names: + - current_file: "elasticsearch.yml" + new_file: "{{ tempdir }}/elasticsearch.yml" + - current_file: "log4j2.properties" + new_file: "{{ tempdir }}/log4j2.properties" + + - name: Set ES configmap + oc_configmap: + state: present + name: "{{ elasticsearch_name }}" + namespace: "{{ openshift_logging_elasticsearch_namespace }}" + from_file: + elasticsearch.yml: "{{ tempdir }}/elasticsearch.yml" + log4j2.properties: "{{ tempdir }}/log4j2.properties" + register: es_config_creation + notify: "restart elasticsearch" - when: es_config_creation.changed | bool block: - - set_fact: - _restart_logging_components: "{{ _restart_logging_components | default([]) + [es_component] | unique }}" + - set_fact: + _restart_logging_components: "{{ _restart_logging_components | default([]) + [es_component] | unique }}" - - shell: > - oc get dc -l component="{{ es_component }}" -n "{{ openshift_logging_elasticsearch_namespace }}" -o name | cut -d'/' -f2 - register: _es_dcs + - shell: > + {{ openshift_client_binary }} get dc -l component="{{ es_component }}" -n "{{ openshift_logging_elasticsearch_namespace }}" -o name | cut -d'/' -f2 + register: _es_dcs - - set_fact: - _restart_logging_nodes: "{{ _restart_logging_nodes | default([]) + [_es_dcs.stdout] | unique }}" - when: _es_dcs.stdout != "" + - set_fact: + _restart_logging_nodes: "{{ _restart_logging_nodes | default([]) + [_es_dcs.stdout] | unique }}" + when: _es_dcs.stdout != "" # secret - name: Set ES secret @@ -272,24 +279,24 @@ name: "logging-elasticsearch" namespace: "{{ openshift_logging_elasticsearch_namespace }}" files: - - name: key - path: "{{ generated_certs_dir }}/logging-es.jks" - - name: truststore - path: "{{ generated_certs_dir }}/truststore.jks" - - name: searchguard.key - path: "{{ generated_certs_dir }}/elasticsearch.jks" - - name: searchguard.truststore - path: "{{ generated_certs_dir }}/truststore.jks" - - name: admin-key - path: "{{ generated_certs_dir }}/system.admin.key" - - name: admin-cert - path: "{{ generated_certs_dir }}/system.admin.crt" - - name: admin-ca - path: "{{ generated_certs_dir }}/ca.crt" - - name: admin.jks - path: "{{ generated_certs_dir }}/system.admin.jks" - - name: passwd.yml - path: "{{mktemp.stdout}}/passwd.yml" + - name: key + path: "{{ generated_certs_dir }}/logging-es.jks" + - name: truststore + path: "{{ generated_certs_dir }}/truststore.jks" + - name: searchguard.key + path: "{{ generated_certs_dir }}/elasticsearch.jks" + - name: searchguard.truststore + path: "{{ generated_certs_dir }}/truststore.jks" + - name: admin-key + path: "{{ generated_certs_dir }}/system.admin.key" + - name: admin-cert + path: "{{ generated_certs_dir }}/system.admin.crt" + - name: admin-ca + path: "{{ generated_certs_dir }}/ca.crt" + - name: admin.jks + path: "{{ generated_certs_dir }}/system.admin.jks" + - name: passwd.yml + path: "{{mktemp.stdout}}/passwd.yml" # services - name: Set logging-{{ es_component }}-cluster service @@ -303,7 +310,7 @@ labels: logging-infra: 'support' ports: - - port: 9300 + - port: 9300 - name: Set logging-{{ es_component }} service oc_service: @@ -316,8 +323,8 @@ labels: logging-infra: 'support' ports: - - port: 9200 - targetPort: "restapi" + - port: 9200 + targetPort: "restapi" - name: Set logging-{{ es_component}}-prometheus service oc_service: @@ -327,9 +334,9 @@ labels: logging-infra: 'support' ports: - - name: proxy - port: 443 - targetPort: 4443 + - name: proxy + port: 443 + targetPort: 4443 selector: component: "{{ es_component }}" provider: openshift @@ -357,46 +364,46 @@ # so we check for the presence of 'stderr' to determine if the obj exists or not # the RC for existing and not existing is both 0 - when: - - logging_elasticsearch_pvc.results.stderr is defined - - openshift_logging_elasticsearch_storage_type == "pvc" + - logging_elasticsearch_pvc.results.stderr is defined + - openshift_logging_elasticsearch_storage_type == "pvc" block: - # storageclasses are used by default but if static then disable - # storageclasses with the storageClassName set to "" in pvc.j2 - - name: Creating ES storage template - static - template: - src: "{{ __base_file_dir }}/pvc.j2" - dest: "{{ tempdir }}/templates/logging-es-pvc.yml" - vars: - obj_name: "{{ openshift_logging_elasticsearch_pvc_name }}" - size: "{{ (openshift_logging_elasticsearch_pvc_size | trim | length == 0) | ternary('10Gi', openshift_logging_elasticsearch_pvc_size) }}" - access_modes: "{{ openshift_logging_elasticsearch_pvc_access_modes | list }}" - pv_selector: "{{ openshift_logging_elasticsearch_pvc_pv_selector }}" - storage_class_name: "{{ openshift_logging_elasticsearch_pvc_storage_class_name | default('', true) }}" - when: - - not openshift_logging_elasticsearch_pvc_dynamic | bool - - # Storageclasses are used by default if configured - - name: Creating ES storage template - dynamic - template: - src: "{{ __base_file_dir }}/pvc.j2" - dest: "{{ tempdir }}/templates/logging-es-pvc.yml" - vars: - obj_name: "{{ openshift_logging_elasticsearch_pvc_name }}" - size: "{{ (openshift_logging_elasticsearch_pvc_size | trim | length == 0) | ternary('10Gi', openshift_logging_elasticsearch_pvc_size) }}" - access_modes: "{{ openshift_logging_elasticsearch_pvc_access_modes | list }}" - pv_selector: "{{ openshift_logging_elasticsearch_pvc_pv_selector }}" - when: - - openshift_logging_elasticsearch_pvc_dynamic | bool - - - name: Set ES storage - oc_obj: - state: present - kind: pvc - name: "{{ openshift_logging_elasticsearch_pvc_name }}" - namespace: "{{ openshift_logging_elasticsearch_namespace }}" - files: - - "{{ tempdir }}/templates/logging-es-pvc.yml" - delete_after: true + # storageclasses are used by default but if static then disable + # storageclasses with the storageClassName set to "" in pvc.j2 + - name: Creating ES storage template - static + template: + src: "{{ __base_file_dir }}/pvc.j2" + dest: "{{ tempdir }}/templates/logging-es-pvc.yml" + vars: + obj_name: "{{ openshift_logging_elasticsearch_pvc_name }}" + size: "{{ (openshift_logging_elasticsearch_pvc_size | trim | length == 0) | ternary('10Gi', openshift_logging_elasticsearch_pvc_size) }}" + access_modes: "{{ openshift_logging_elasticsearch_pvc_access_modes | list }}" + pv_selector: "{{ openshift_logging_elasticsearch_pvc_pv_selector }}" + storage_class_name: "{{ openshift_logging_elasticsearch_pvc_storage_class_name | default('', true) }}" + when: + - not openshift_logging_elasticsearch_pvc_dynamic | bool + + # Storageclasses are used by default if configured + - name: Creating ES storage template - dynamic + template: + src: "{{ __base_file_dir }}/pvc.j2" + dest: "{{ tempdir }}/templates/logging-es-pvc.yml" + vars: + obj_name: "{{ openshift_logging_elasticsearch_pvc_name }}" + size: "{{ (openshift_logging_elasticsearch_pvc_size | trim | length == 0) | ternary('10Gi', openshift_logging_elasticsearch_pvc_size) }}" + access_modes: "{{ openshift_logging_elasticsearch_pvc_access_modes | list }}" + pv_selector: "{{ openshift_logging_elasticsearch_pvc_pv_selector }}" + when: + - openshift_logging_elasticsearch_pvc_dynamic | bool + + - name: Set ES storage + oc_obj: + state: present + kind: pvc + name: "{{ openshift_logging_elasticsearch_pvc_name }}" + namespace: "{{ openshift_logging_elasticsearch_namespace }}" + files: + - "{{ tempdir }}/templates/logging-es-pvc.yml" + delete_after: true - set_fact: es_deploy_name: "logging-{{ es_component }}-{{ openshift_logging_elasticsearch_deployment_type }}-{{ 8 | lib_utils_oo_random_word('abcdefghijklmnopqrstuvwxyz0123456789') }}" @@ -437,7 +444,7 @@ namespace: "{{ openshift_logging_elasticsearch_namespace }}" kind: dc files: - - "{{ tempdir }}/templates/logging-es-dc.yml" + - "{{ tempdir }}/templates/logging-es-dc.yml" delete_after: true register: es_dc_creation notify: "restart elasticsearch" @@ -452,37 +459,37 @@ src: "{{ generated_certs_dir }}/{{ item.file }}" register: key_pairs with_items: - - { name: "ca_file", file: "ca.crt" } - - { name: "es_key", file: "system.logging.es.key" } - - { name: "es_cert", file: "system.logging.es.crt" } + - { name: "ca_file", file: "ca.crt" } + - { name: "es_key", file: "system.logging.es.key" } + - { name: "es_cert", file: "system.logging.es.crt" } when: openshift_logging_es_allow_external | bool - set_fact: es_key: "{{ lookup('file', openshift_logging_es_key) | b64encode }}" when: - - openshift_logging_es_key | trim | length > 0 - - openshift_logging_es_allow_external | bool + - openshift_logging_es_key | trim | length > 0 + - openshift_logging_es_allow_external | bool changed_when: false - set_fact: es_cert: "{{ lookup('file', openshift_logging_es_cert) | b64encode }}" when: - - openshift_logging_es_cert | trim | length > 0 - - openshift_logging_es_allow_external | bool + - openshift_logging_es_cert | trim | length > 0 + - openshift_logging_es_allow_external | bool changed_when: false - set_fact: es_ca: "{{ lookup('file', openshift_logging_es_ca_ext) | b64encode }}" when: - - openshift_logging_es_ca_ext | trim | length > 0 - - openshift_logging_es_allow_external | bool + - openshift_logging_es_ca_ext | trim | length > 0 + - openshift_logging_es_allow_external | bool changed_when: false - set_fact: es_ca: "{{ key_pairs | entry_from_named_pair('ca_file') }}" when: - - es_ca is not defined - - openshift_logging_es_allow_external | bool + - es_ca is not defined + - openshift_logging_es_allow_external | bool changed_when: false - name: Generating Elasticsearch {{ es_component }} route template @@ -513,7 +520,7 @@ namespace: "{{ openshift_logging_elasticsearch_namespace }}" kind: route files: - - "{{ tempdir }}/templates/logging-{{ es_component }}-route.yaml" + - "{{ tempdir }}/templates/logging-{{ es_component }}-route.yaml" when: openshift_logging_es_allow_external | bool ## Placeholder for migration when necessary ## diff --git a/roles/openshift_logging_elasticsearch/tasks/restart_cluster.yml b/roles/openshift_logging_elasticsearch/tasks/restart_cluster.yml index 879459cf6..14f2313e1 100644 --- a/roles/openshift_logging_elasticsearch/tasks/restart_cluster.yml +++ b/roles/openshift_logging_elasticsearch/tasks/restart_cluster.yml @@ -1,13 +1,13 @@ --- ## get all pods for the cluster - command: > - oc get pod -l component={{ _cluster_component }},provider=openshift -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[?(@.status.phase==\"Running\")].metadata.name} + {{ openshift_client_binary }} get pod -l component={{ _cluster_component }},provider=openshift -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[?(@.status.phase==\"Running\")].metadata.name} register: _cluster_pods ### Check for cluster state before making changes -- if its red then we don't want to continue - name: "Checking current health for {{ _es_node }} cluster" shell: > - oc exec "{{ _cluster_pods.stdout.split(' ')[0] }}" -c elasticsearch -n "{{ openshift_logging_elasticsearch_namespace }}" -- es_cluster_health + {{ openshift_client_binary }} exec "{{ _cluster_pods.stdout.split(' ')[0] }}" -c elasticsearch -n "{{ openshift_logging_elasticsearch_namespace }}" -- es_cluster_health register: _pod_status when: _cluster_pods.stdout_lines | count > 0 @@ -46,7 +46,7 @@ - name: "Disable shard balancing for logging-{{ _cluster_component }} cluster" command: > - oc exec {{ _cluster_pods.stdout.split(' ')[0] }} -c elasticsearch -n {{ openshift_logging_elasticsearch_namespace }} -- {{ __es_local_curl }} -XPUT 'https://localhost:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable" : "none" } }' + {{ openshift_client_binary }} exec {{ _cluster_pods.stdout.split(' ')[0] }} -c elasticsearch -n {{ openshift_logging_elasticsearch_namespace }} -- {{ __es_local_curl }} -XPUT 'https://localhost:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable" : "none" } }' register: _disable_output changed_when: "'\"acknowledged\":true' in _disable_output.stdout" when: _cluster_pods.stdout_lines | count > 0 @@ -54,7 +54,7 @@ # Flush ES - name: "Flushing for logging-{{ _cluster_component }} cluster" command: > - oc exec {{ _cluster_pods.stdout.split(' ')[0] }} -c elasticsearch -n {{ openshift_logging_elasticsearch_namespace }} -- {{ __es_local_curl }} -XPUT 'https://localhost:9200/_flush/synced' + {{ openshift_client_binary }} exec {{ _cluster_pods.stdout.split(' ')[0] }} -c elasticsearch -n {{ openshift_logging_elasticsearch_namespace }} -- {{ __es_local_curl }} -XPUT 'https://localhost:9200/_flush/synced' register: _flush_output changed_when: "'\"acknowledged\":true' in _flush_output.stdout" when: @@ -62,7 +62,7 @@ - full_restart_cluster | bool - command: > - oc get dc -l component={{ _cluster_component }},provider=openshift -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[*].metadata.name} + {{ openshift_client_binary }} get dc -l component={{ _cluster_component }},provider=openshift -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[*].metadata.name} register: _cluster_dcs ## restart all dcs for full restart @@ -86,12 +86,12 @@ ## we may need a new first pod to run against -- fetch them all again - command: > - oc get pod -l component={{ _cluster_component }},provider=openshift -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[?(@.status.phase==\"Running\")].metadata.name} + {{ openshift_client_binary }} get pod -l component={{ _cluster_component }},provider=openshift -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[?(@.status.phase==\"Running\")].metadata.name} register: _cluster_pods - name: "Enable shard balancing for logging-{{ _cluster_component }} cluster" command: > - oc exec {{ _cluster_pods.stdout.split(' ')[0] }} -c elasticsearch -n {{ openshift_logging_elasticsearch_namespace }} -- {{ __es_local_curl }} -XPUT 'https://localhost:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable" : "all" } }' + {{ openshift_client_binary }} exec {{ _cluster_pods.stdout.split(' ')[0] }} -c elasticsearch -n {{ openshift_logging_elasticsearch_namespace }} -- {{ __es_local_curl }} -XPUT 'https://localhost:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable" : "all" } }' register: _enable_output changed_when: "'\"acknowledged\":true' in _enable_output.stdout" diff --git a/roles/openshift_logging_elasticsearch/tasks/restart_es_node.yml b/roles/openshift_logging_elasticsearch/tasks/restart_es_node.yml index fe15e40fd..a1e172168 100644 --- a/roles/openshift_logging_elasticsearch/tasks/restart_es_node.yml +++ b/roles/openshift_logging_elasticsearch/tasks/restart_es_node.yml @@ -1,7 +1,7 @@ --- - name: "Rolling out new pod(s) for {{ _es_node }}" command: > - oc rollout latest {{ _es_node }} -n {{ openshift_logging_elasticsearch_namespace }} + {{ openshift_client_binary }} rollout latest {{ _es_node }} -n {{ openshift_logging_elasticsearch_namespace }} - name: "Waiting for {{ _es_node }} to finish scaling up" oc_obj: @@ -21,12 +21,12 @@ - name: Gettings name(s) of replica pod(s) command: > - oc get pods -l deploymentconfig={{ _es_node }} -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[*].metadata.name} + {{ openshift_client_binary }} get pods -l deploymentconfig={{ _es_node }} -n {{ openshift_logging_elasticsearch_namespace }} -o jsonpath={.items[*].metadata.name} register: _pods - name: "Waiting for ES to be ready for {{ _es_node }}" shell: > - oc exec "{{ _pod }}" -c elasticsearch -n "{{ openshift_logging_elasticsearch_namespace }}" -- es_cluster_health + {{ openshift_client_binary }} exec "{{ _pod }}" -c elasticsearch -n "{{ openshift_logging_elasticsearch_namespace }}" -- es_cluster_health with_items: "{{ _pods.stdout.split(' ') }}" loop_control: loop_var: _pod diff --git a/roles/openshift_logging_elasticsearch/vars/openshift-enterprise.yml b/roles/openshift_logging_elasticsearch/vars/openshift-enterprise.yml index 07d92896f..0cf48a66b 100644 --- a/roles/openshift_logging_elasticsearch/vars/openshift-enterprise.yml +++ b/roles/openshift_logging_elasticsearch/vars/openshift-enterprise.yml @@ -1,5 +1,5 @@ --- __openshift_logging_elasticsearch_image_prefix: "{{ openshift_logging_image_prefix | default('registry.access.redhat.com/openshift3/') }}" -__openshift_logging_elasticsearch_image_version: "{{ openshift_logging_image_version | default ('v3.7') }}" +__openshift_logging_elasticsearch_image_version: "{{ openshift_logging_image_version | default (openshift_image_tag) }}" __openshift_logging_elasticsearch_proxy_image_prefix: "{{ openshift_logging_image_prefix | default('registry.access.redhat.com/openshift3/') }}" -__openshift_logging_elasticsearch_proxy_image_version: "{{ openshift_logging_image_version | default ('v3.7') }}" +__openshift_logging_elasticsearch_proxy_image_version: "{{ openshift_logging_image_version | default (openshift_image_tag) }}" diff --git a/roles/openshift_logging_eventrouter/tasks/install_eventrouter.yaml b/roles/openshift_logging_eventrouter/tasks/install_eventrouter.yaml index fffdd9f8b..2adc51a16 100644 --- a/roles/openshift_logging_eventrouter/tasks/install_eventrouter.yaml +++ b/roles/openshift_logging_eventrouter/tasks/install_eventrouter.yaml @@ -4,6 +4,13 @@ msg: Invalid sink type "{{openshift_logging_eventrouter_sink}}", only one of "{{__eventrouter_sinks}}" allowed that: openshift_logging_eventrouter_sink in __eventrouter_sinks +- name: Ensure that logging eventrouter has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for logging EventRouter - '{{ openshift_logging_eventrouter_nodeselector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_logging_eventrouter_nodeselector) + # allow passing in a tempdir - name: Create temp directory for doing work in command: mktemp -d /tmp/openshift-logging-ansible-XXXXXX diff --git a/roles/openshift_logging_eventrouter/vars/openshift-enterprise.yml b/roles/openshift_logging_eventrouter/vars/openshift-enterprise.yml index bb7dc6455..1a6bc208e 100644 --- a/roles/openshift_logging_eventrouter/vars/openshift-enterprise.yml +++ b/roles/openshift_logging_eventrouter/vars/openshift-enterprise.yml @@ -1,3 +1,3 @@ --- __openshift_logging_eventrouter_image_prefix: "{{ openshift_logging_image_prefix | default('registry.access.redhat.com/openshift3/') }}" -__openshift_logging_eventrouter_image_version: "{{ openshift_logging_image_version | default ('v3.7') }}" +__openshift_logging_eventrouter_image_version: "{{ openshift_logging_image_version | default (openshift_image_tag) }}" diff --git a/roles/openshift_logging_fluentd/vars/openshift-enterprise.yml b/roles/openshift_logging_fluentd/vars/openshift-enterprise.yml index d0c74f1fb..b62b62a74 100644 --- a/roles/openshift_logging_fluentd/vars/openshift-enterprise.yml +++ b/roles/openshift_logging_fluentd/vars/openshift-enterprise.yml @@ -1,3 +1,3 @@ --- __openshift_logging_fluentd_image_prefix: "{{ openshift_logging_image_prefix | default('registry.access.redhat.com/openshift3/') }}" -__openshift_logging_fluentd_image_version: "{{ openshift_logging_image_version | default ('v3.7') }}" +__openshift_logging_fluentd_image_version: "{{ openshift_logging_image_version | default (openshift_image_tag) }}" diff --git a/roles/openshift_logging_kibana/tasks/main.yaml b/roles/openshift_logging_kibana/tasks/main.yaml index 58edc5ce5..7b6bc02e1 100644 --- a/roles/openshift_logging_kibana/tasks/main.yaml +++ b/roles/openshift_logging_kibana/tasks/main.yaml @@ -8,6 +8,13 @@ loop_control: loop_var: var_file_name +- name: Ensure that Kibana has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for Kibana - '{{ openshift_logging_kibana_nodeselector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_logging_kibana_nodeselector) + - name: Set kibana image facts set_fact: openshift_logging_kibana_image_prefix: "{{ openshift_logging_kibana_image_prefix | default(__openshift_logging_kibana_image_prefix) }}" diff --git a/roles/openshift_logging_kibana/vars/openshift-enterprise.yml b/roles/openshift_logging_kibana/vars/openshift-enterprise.yml index 0be2e7252..033c8ae5f 100644 --- a/roles/openshift_logging_kibana/vars/openshift-enterprise.yml +++ b/roles/openshift_logging_kibana/vars/openshift-enterprise.yml @@ -1,5 +1,5 @@ --- __openshift_logging_kibana_image_prefix: "{{ openshift_logging_image_prefix | default('registry.access.redhat.com/openshift3/') }}" -__openshift_logging_kibana_image_version: "{{ openshift_logging_image_version | default ('v3.7') }}" +__openshift_logging_kibana_image_version: "{{ openshift_logging_image_version | default (openshift_image_tag) }}" __openshift_logging_kibana_proxy_image_prefix: "{{ openshift_logging_image_prefix | default('registry.access.redhat.com/openshift3/') }}" -__openshift_logging_kibana_proxy_image_version: "{{ openshift_logging_image_version | default ('v3.7') }}" +__openshift_logging_kibana_proxy_image_version: "{{ openshift_logging_image_version | default (openshift_image_tag) }}" diff --git a/roles/openshift_logging_mux/tasks/main.yaml b/roles/openshift_logging_mux/tasks/main.yaml index b2699b285..f810f3606 100644 --- a/roles/openshift_logging_mux/tasks/main.yaml +++ b/roles/openshift_logging_mux/tasks/main.yaml @@ -7,11 +7,18 @@ msg: Operations logs destination is required when: not openshift_logging_mux_ops_host or openshift_logging_mux_ops_host == '' +- name: Ensure that logging mux has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for logging mux - '{{ openshift_logging_mux_nodeselector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_logging_mux_nodeselector) + - name: Set default image variables based on openshift_deployment_type include_vars: "{{ var_file_name }}" with_first_found: - - "{{ openshift_deployment_type }}.yml" - - "default_images.yml" + - "{{ openshift_deployment_type }}.yml" + - "default_images.yml" loop_control: loop_var: var_file_name @@ -55,7 +62,7 @@ name: "aggregated-logging-mux" namespace: "{{ openshift_logging_mux_namespace }}" when: - - openshift_logging_image_pull_secret == '' + - openshift_logging_image_pull_secret == '' # set service account scc - name: Set privileged permissions for Mux @@ -102,10 +109,10 @@ configmap_name: "logging-mux" configmap_namespace: "{{ openshift_logging_mux_namespace }}" configmap_file_names: - - current_file: "fluent.conf" - new_file: "{{ tempdir }}/fluent-mux.conf" - - current_file: "secure-forward.conf" - new_file: "{{ tempdir }}/secure-forward-mux.conf" + - current_file: "fluent.conf" + new_file: "{{ tempdir }}/fluent-mux.conf" + - current_file: "secure-forward.conf" + new_file: "{{ tempdir }}/secure-forward-mux.conf" - name: Set Mux configmap oc_configmap: @@ -123,14 +130,14 @@ name: logging-mux namespace: "{{ openshift_logging_mux_namespace }}" files: - - name: ca - path: "{{ generated_certs_dir }}/ca.crt" - - name: key - path: "{{ generated_certs_dir }}/system.logging.mux.key" - - name: cert - path: "{{ generated_certs_dir }}/system.logging.mux.crt" - - name: shared_key - path: "{{ generated_certs_dir }}/mux_shared_key" + - name: ca + path: "{{ generated_certs_dir }}/ca.crt" + - name: key + path: "{{ generated_certs_dir }}/system.logging.mux.key" + - name: cert + path: "{{ generated_certs_dir }}/system.logging.mux.crt" + - name: shared_key + path: "{{ generated_certs_dir }}/mux_shared_key" # services - name: Set logging-mux service for external communication @@ -144,11 +151,11 @@ labels: logging-infra: 'support' ports: - - name: mux-forward - port: "{{ openshift_logging_mux_port }}" - targetPort: "mux-forward" + - name: mux-forward + port: "{{ openshift_logging_mux_port }}" + targetPort: "mux-forward" external_ips: - - "{{ openshift_logging_mux_external_address }}" + - "{{ openshift_logging_mux_external_address }}" when: openshift_logging_mux_allow_external | bool - name: Set logging-mux service for internal communication @@ -162,9 +169,9 @@ labels: logging-infra: 'support' ports: - - name: mux-forward - port: "{{ openshift_logging_mux_port }}" - targetPort: "mux-forward" + - name: mux-forward + port: "{{ openshift_logging_mux_port }}" + targetPort: "mux-forward" when: not openshift_logging_mux_allow_external | bool # create Mux DC @@ -199,7 +206,7 @@ selector: "{{ openshift_logging_mux_file_buffer_pvc_pv_selector }}" storage_class_name: "{{ openshift_logging_mux_file_buffer_pvc_storage_class_name | default('', true) }}" when: - - openshift_logging_mux_file_buffer_storage_type == "pvc" + - openshift_logging_mux_file_buffer_storage_type == "pvc" - name: Set logging-mux DC oc_obj: @@ -208,7 +215,7 @@ namespace: "{{ openshift_logging_mux_namespace }}" kind: dc files: - - "{{ tempdir }}/templates/logging-mux-dc.yaml" + - "{{ tempdir }}/templates/logging-mux-dc.yaml" delete_after: true - name: Add mux namespaces diff --git a/roles/openshift_logging_mux/vars/openshift-enterprise.yml b/roles/openshift_logging_mux/vars/openshift-enterprise.yml index 1e7eb9d8d..a72459748 100644 --- a/roles/openshift_logging_mux/vars/openshift-enterprise.yml +++ b/roles/openshift_logging_mux/vars/openshift-enterprise.yml @@ -1,3 +1,3 @@ --- __openshift_logging_mux_image_prefix: "{{ openshift_logging_image_prefix | default('registry.access.redhat.com/openshift3/') }}" -__openshift_logging_mux_image_version: "{{ openshift_logging_image_version | default ('v3.7') }}" +__openshift_logging_mux_image_version: "{{ openshift_logging_image_version | default (openshift_image_tag) }}" diff --git a/roles/openshift_master/tasks/system_container.yml b/roles/openshift_master/tasks/system_container.yml index dcbf7fd9f..21a29a204 100644 --- a/roles/openshift_master/tasks/system_container.yml +++ b/roles/openshift_master/tasks/system_container.yml @@ -18,6 +18,8 @@ state: latest values: - COMMAND=api + - "NODE_SERVICE={{ openshift_service_type }}-node.service" + - "DOCKER_SERVICE={{ openshift_docker_service_name }}.service" - name: Install or Update HA controller master system container oc_atomic_container: @@ -26,3 +28,5 @@ state: latest values: - COMMAND=controllers + - "NODE_SERVICE={{ openshift_service_type }}-node.service" + - "DOCKER_SERVICE={{ openshift_docker_service_name }}.service" diff --git a/roles/openshift_master_certificates/tasks/main.yml b/roles/openshift_master_certificates/tasks/main.yml index ce27e238f..a92b63979 100644 --- a/roles/openshift_master_certificates/tasks/main.yml +++ b/roles/openshift_master_certificates/tasks/main.yml @@ -1,25 +1,16 @@ --- -- set_fact: - openshift_master_certs_no_etcd: - - admin.crt - - master.kubelet-client.crt - - master.proxy-client.crt - - master.server.crt - - openshift-master.crt - - openshift-registry.crt - - openshift-router.crt - - etcd.server.crt - openshift_master_certs_etcd: - - master.etcd-client.crt - -- set_fact: - openshift_master_certs: "{{ (openshift_master_certs_no_etcd | union(openshift_master_certs_etcd )) if openshift_master_etcd_hosts | length > 0 else openshift_master_certs_no_etcd }}" - - name: Check status of master certificates stat: path: "{{ openshift_master_config_dir }}/{{ item }}" with_items: - - "{{ openshift_master_certs }}" + - admin.crt + - ca.crt + - ca-bundle.crt + - master.kubelet-client.crt + - master.proxy-client.crt + - master.server.crt + - openshift-master.crt + - service-signer.crt register: g_master_cert_stat_result when: not openshift_certificates_redeploy | default(false) | bool diff --git a/roles/openshift_metrics/tasks/install_cassandra.yaml b/roles/openshift_metrics/tasks/install_cassandra.yaml index 158e596ec..e0b37ac26 100644 --- a/roles/openshift_metrics/tasks/install_cassandra.yaml +++ b/roles/openshift_metrics/tasks/install_cassandra.yaml @@ -1,4 +1,11 @@ --- +- name: Ensure that Cassandra has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for cassandra - '{{ openshift_metrics_cassandra_nodeselector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_metrics_cassandra_nodeselector) + - shell: > {{ openshift_client_binary }} -n {{ openshift_metrics_project | quote }} --config={{ mktemp.stdout }}/admin.kubeconfig diff --git a/roles/openshift_metrics/tasks/install_hawkular.yaml b/roles/openshift_metrics/tasks/install_hawkular.yaml index f45e7a042..de4e89a01 100644 --- a/roles/openshift_metrics/tasks/install_hawkular.yaml +++ b/roles/openshift_metrics/tasks/install_hawkular.yaml @@ -1,4 +1,11 @@ --- +- name: Ensure that Hawkular has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for hawkular - '{{ openshift_metrics_hawkular_nodeselector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_metrics_hawkular_nodeselector) + - command: > {{ openshift_client_binary }} -n {{ openshift_metrics_project | quote }} --config={{ mktemp.stdout }}/admin.kubeconfig diff --git a/roles/openshift_metrics/tasks/install_heapster.yaml b/roles/openshift_metrics/tasks/install_heapster.yaml index 73e7454f0..e4ddf98ff 100644 --- a/roles/openshift_metrics/tasks/install_heapster.yaml +++ b/roles/openshift_metrics/tasks/install_heapster.yaml @@ -1,4 +1,11 @@ --- +- name: Ensure that Heapster has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for heapster - '{{ openshift_metrics_heapster_nodeselector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_metrics_heapster_nodeselector) + - command: > {{ openshift_client_binary }} -n {{ openshift_metrics_project | quote }} --config={{ mktemp.stdout }}/admin.kubeconfig @@ -20,8 +27,8 @@ - set_fact: heapster_sa_secrets: "{{ heapster_sa_secrets + [item] }}" with_items: - - hawkular-metrics-certs - - hawkular-metrics-account + - hawkular-metrics-certs + - hawkular-metrics-account when: not openshift_metrics_heapster_standalone | bool - name: Generating serviceaccount for heapster @@ -38,7 +45,7 @@ vars: obj_name: heapster ports: - - {port: 80, targetPort: http-endpoint} + - {port: 80, targetPort: http-endpoint} selector: name: "{{obj_name}}" annotations: @@ -61,9 +68,9 @@ kind: ClusterRole name: cluster-reader subjects: - - kind: ServiceAccount - name: heapster - namespace: "{{ openshift_metrics_project }}" + - kind: ServiceAccount + name: heapster + namespace: "{{ openshift_metrics_project }}" changed_when: no - include_tasks: generate_heapster_secrets.yaml diff --git a/roles/openshift_metrics/tasks/install_hosa.yaml b/roles/openshift_metrics/tasks/install_hosa.yaml index 7c9bc26d0..3624cb5ab 100644 --- a/roles/openshift_metrics/tasks/install_hosa.yaml +++ b/roles/openshift_metrics/tasks/install_hosa.yaml @@ -1,4 +1,11 @@ --- +- name: Ensure that Hawkular agent has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for Hawkular agent - '{{ openshift_metrics_hawkular_agent_nodeselector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_metrics_hawkular_agent_nodeselector) + - name: Generate Hawkular Agent (HOSA) Cluster Role template: src: hawkular_openshift_agent_role.j2 @@ -38,7 +45,7 @@ kind: ClusterRole name: hawkular-openshift-agent subjects: - - kind: ServiceAccount - name: hawkular-openshift-agent - namespace: "{{openshift_metrics_hawkular_agent_namespace}}" + - kind: ServiceAccount + name: hawkular-openshift-agent + namespace: "{{openshift_metrics_hawkular_agent_namespace}}" changed_when: no diff --git a/roles/openshift_metrics/templates/hawkular_cassandra_rc.j2 b/roles/openshift_metrics/templates/hawkular_cassandra_rc.j2 index 11476bf75..3a536630f 100644 --- a/roles/openshift_metrics/templates/hawkular_cassandra_rc.j2 +++ b/roles/openshift_metrics/templates/hawkular_cassandra_rc.j2 @@ -122,7 +122,7 @@ spec: exec: command: - "/opt/apache-cassandra/bin/cassandra-poststart.sh" - terminationGracePeriodSeconds: 1800 + terminationGracePeriodSeconds: 1800 volumes: - name: cassandra-data {% if openshift_metrics_cassandra_storage_type == 'emptydir' %} diff --git a/roles/openshift_metrics/vars/default_images.yml b/roles/openshift_metrics/vars/default_images.yml index 8704ddfa0..e7003db76 100644 --- a/roles/openshift_metrics/vars/default_images.yml +++ b/roles/openshift_metrics/vars/default_images.yml @@ -1,3 +1,3 @@ --- __openshift_metrics_image_prefix: "docker.io/openshift/origin-" -__openshift_metrics_image_version: "latest" +__openshift_metrics_image_version: "{{ openshift_image_tag }}" diff --git a/roles/openshift_metrics/vars/openshift-enterprise.yml b/roles/openshift_metrics/vars/openshift-enterprise.yml index 5a1728de5..b3b3552b7 100644 --- a/roles/openshift_metrics/vars/openshift-enterprise.yml +++ b/roles/openshift_metrics/vars/openshift-enterprise.yml @@ -1,3 +1,3 @@ --- __openshift_metrics_image_prefix: "registry.access.redhat.com/openshift3/" -__openshift_metrics_image_version: "v3.7" +__openshift_metrics_image_version: "{{ openshift_image_tag }}" diff --git a/roles/openshift_node/README.md b/roles/openshift_node/README.md index 87ceb8103..c61742bc2 100644 --- a/roles/openshift_node/README.md +++ b/roles/openshift_node/README.md @@ -15,10 +15,17 @@ Role Variables -------------- From this role: -| Name | Default value | | -|----------------------------|-----------------------|----------------------------------------------------------| -| oreg_url | UNDEF (Optional) | Default docker registry to use | -| oreg_url_node | UNDEF (Optional) | Default docker registry to use, specifically on the node | +| Name | Default value | | +|------------------------------|-----------------------|----------------------------------------------------------| +| openshift_node_start_options | UNDEF (Optional) | Options to pass to node start cmdline | +| oreg_url | UNDEF (Optional) | Default docker registry to use | +| oreg_url_node | UNDEF (Optional) | Default docker registry to use, specifically on the node | + +openshift_node_start_options can be used for passing any start node option, e.g.: + +--enable=kubelet,plugins + +Which would have a node running without kube-proxy and dns. Dependencies ------------ diff --git a/roles/openshift_node/defaults/main.yml b/roles/openshift_node/defaults/main.yml index 9f887891b..64ab07bb5 100644 --- a/roles/openshift_node/defaults/main.yml +++ b/roles/openshift_node/defaults/main.yml @@ -112,7 +112,7 @@ l_is_openvswitch_system_container: "{{ (openshift_use_openvswitch_system_contain openshift_image_tag: '' default_r_openshift_node_image_prep_packages: -- "{{ openshift_service_type }}-master" +#- "{{ openshift_service_type }}-master" - "{{ openshift_service_type }}-node" - "{{ openshift_service_type }}-docker-excluder" - "{{ openshift_service_type }}-sdn-ovs" diff --git a/roles/openshift_node/files/bootstrap.yml b/roles/openshift_node/files/bootstrap.yml index a5545c81b..ea280640f 100644 --- a/roles/openshift_node/files/bootstrap.yml +++ b/roles/openshift_node/files/bootstrap.yml @@ -61,11 +61,3 @@ with_items: - line: "BOOTSTRAP_CONFIG_NAME=node-config-{{ openshift_group_type }}" regexp: "^BOOTSTRAP_CONFIG_NAME=.*" - - - name: "Start the {{ openshift_service_type }}-node service" - systemd: - daemon_reload: yes - state: restarted - enabled: True - name: "{{ openshift_service_type }}-node" - no_block: true diff --git a/roles/openshift_node/files/networkmanager/99-origin-dns.sh b/roles/openshift_node/files/networkmanager/99-origin-dns.sh index f4e48b5b7..acf3e2f38 100755 --- a/roles/openshift_node/files/networkmanager/99-origin-dns.sh +++ b/roles/openshift_node/files/networkmanager/99-origin-dns.sh @@ -116,8 +116,9 @@ EOF echo "nameserver "${def_route_ip}"" >> ${NEW_RESOLV_CONF} if ! grep -qw search ${NEW_RESOLV_CONF}; then echo 'search cluster.local' >> ${NEW_RESOLV_CONF} - elif ! grep -q 'search.*cluster.local' ${NEW_RESOLV_CONF}; then - sed -i '/^search/ s/$/ cluster.local/' ${NEW_RESOLV_CONF} + elif ! grep -q 'search cluster.local' ${NEW_RESOLV_CONF}; then + # cluster.local should be in first three DNS names so that glibc resolver would work + sed -i -e 's/^search \(.\+\)\( cluster\.local\)\{0,1\}$/search cluster.local \1/' ${NEW_RESOLV_CONF} fi cp -Z ${NEW_RESOLV_CONF} /etc/resolv.conf fi diff --git a/roles/openshift_node/tasks/bootstrap.yml b/roles/openshift_node/tasks/bootstrap.yml index 1a6f209e0..f9f042eeb 100644 --- a/roles/openshift_node/tasks/bootstrap.yml +++ b/roles/openshift_node/tasks/bootstrap.yml @@ -43,13 +43,13 @@ # line: "{% raw %}ExecStart=/usr/bin/openshift start node --bootstrap --kubeconfig=${KUBECONFIG} $OPTIONS{% endraw %}" # regexp: "^ExecStart=.*" -- name: "disable {{ openshift_service_type }}-node and {{ openshift_service_type }}-master services" +- name: "disable {{ openshift_service_type }}-node" # and {{ openshift_service_type }}-master services" systemd: name: "{{ item }}" enabled: no with_items: - "{{ openshift_service_type }}-node.service" - - "{{ openshift_service_type }}-master.service" +# - "{{ openshift_service_type }}-master.service" - name: Check for RPM generated config marker file .config_managed stat: diff --git a/roles/openshift_node/tasks/config/configure-node-settings.yml b/roles/openshift_node/tasks/config/configure-node-settings.yml index ebc1426d3..dcdbeb220 100644 --- a/roles/openshift_node/tasks/config/configure-node-settings.yml +++ b/roles/openshift_node/tasks/config/configure-node-settings.yml @@ -7,7 +7,7 @@ create: true with_items: - regex: '^OPTIONS=' - line: "OPTIONS=--loglevel={{ openshift_node_debug_level }}" + line: "OPTIONS=--loglevel={{ openshift_node_debug_level }} {{ openshift_node_start_options | default('') }}" - regex: '^CONFIG_FILE=' line: "CONFIG_FILE={{ openshift.common.config_base }}/node/node-config.yaml" - regex: '^IMAGE_VERSION=' diff --git a/roles/openshift_node/tasks/node_system_container.yml b/roles/openshift_node/tasks/node_system_container.yml index 008f209d7..e1a533e8e 100644 --- a/roles/openshift_node/tasks/node_system_container.yml +++ b/roles/openshift_node/tasks/node_system_container.yml @@ -13,7 +13,7 @@ values: - "DNS_DOMAIN={{ openshift.common.dns_domain }}" - "DOCKER_SERVICE={{ openshift_docker_service_name }}.service" - - "MASTER_SERVICE={{ openshift_service_type }}.service" + - "MASTER_SERVICE={{ openshift_service_type }}-master-controllers.service" - 'ADDTL_MOUNTS={{ l_node_syscon_add_mounts2 }}' state: latest vars: diff --git a/roles/openshift_openstack/defaults/main.yml b/roles/openshift_openstack/defaults/main.yml index 2bdb81632..6c7e5b543 100644 --- a/roles/openshift_openstack/defaults/main.yml +++ b/roles/openshift_openstack/defaults/main.yml @@ -21,16 +21,15 @@ openshift_openstack_cluster_node_labels: openshift_openstack_install_debug_packages: false openshift_openstack_required_packages: - - docker - NetworkManager - - wget - - git - - net-tools - - bind-utils - - bridge-utils openshift_openstack_debug_packages: - bash-completion + - bind-utils + - bridge-utils + - git + - net-tools - vim-enhanced + - wget # container-storage-setup openshift_openstack_container_storage_setup: @@ -55,7 +54,9 @@ openshift_openstack_app_subdomain: "apps" # heat vars openshift_openstack_clusterid: openshift openshift_openstack_stack_name: "{{ openshift_openstack_clusterid }}.{{ openshift_openstack_public_dns_domain }}" -openshift_openstack_subnet_prefix: "192.168.99" +openshift_openstack_subnet_cidr: "192.168.99.0/24" +openshift_openstack_pool_start: "192.168.99.3" +openshift_openstack_pool_end: "192.168.99.254" openshift_openstack_master_hostname: master openshift_openstack_infra_hostname: infra-node openshift_openstack_cns_hostname: cns @@ -94,6 +95,8 @@ openshift_openstack_etcd_volume_size: 2 openshift_openstack_lb_volume_size: 5 openshift_openstack_ephemeral_volumes: false +# User commands for cloud-init executed on all Nova servers provisioned +openshift_openstack_provision_user_commands: [] # cloud-config openshift_openstack_disable_root: true diff --git a/roles/openshift_openstack/templates/heat_stack.yaml.j2 b/roles/openshift_openstack/templates/heat_stack.yaml.j2 index 1d3173022..b62cb2bc8 100644 --- a/roles/openshift_openstack/templates/heat_stack.yaml.j2 +++ b/roles/openshift_openstack/templates/heat_stack.yaml.j2 @@ -78,22 +78,10 @@ resources: params: cluster_id: {{ openshift_openstack_stack_name }} network: { get_resource: net } - cidr: - str_replace: - template: subnet_24_prefix.0/24 - params: - subnet_24_prefix: {{ openshift_openstack_subnet_prefix }} + cidr: {{ openshift_openstack_subnet_cidr }} allocation_pools: - - start: - str_replace: - template: subnet_24_prefix.3 - params: - subnet_24_prefix: {{ openshift_openstack_subnet_prefix }} - end: - str_replace: - template: subnet_24_prefix.254 - params: - subnet_24_prefix: {{ openshift_openstack_subnet_prefix }} + - start: {{ openshift_openstack_pool_start }} + end: {{ openshift_openstack_pool_end }} dns_nameservers: {% for nameserver in openshift_openstack_dns_nameservers %} - {{ nameserver }} @@ -261,7 +249,7 @@ resources: protocol: tcp port_range_min: 30000 port_range_max: 32767 - remote_ip_prefix: "{{ openshift_openstack_subnet_prefix }}.0/24" + remote_ip_prefix: "{{ openshift_openstack_subnet_cidr }}" {% else %} master-secgrp: type: OS::Neutron::SecurityGroup @@ -393,7 +381,7 @@ resources: protocol: tcp port_range_min: 30000 port_range_max: 32767 - remote_ip_prefix: "{{ openshift_openstack_subnet_prefix }}.0/24" + remote_ip_prefix: "{{ openshift_openstack_subnet_cidr }}" {% endif %} infra-secgrp: diff --git a/roles/openshift_openstack/templates/user_data.j2 b/roles/openshift_openstack/templates/user_data.j2 index ccaa5d464..1ca87a429 100644 --- a/roles/openshift_openstack/templates/user_data.j2 +++ b/roles/openshift_openstack/templates/user_data.j2 @@ -11,3 +11,19 @@ write_files: permissions: 440 content: | Defaults:openshift !requiretty + +{% if openshift_openstack_provision_user_commands %} + - path: /root/ansible_install.sh + permissions: '0544' + content: | +{% for cmd in openshift_openstack_provision_user_commands %} +{% if cmd is string %} + {{ cmd }} +{% elif cmd is iterable %} + {{ cmd|join(' ') }} +{% endif %} +{% endfor %} + +runcmd: + - /root/ansible_install.sh +{% endif %} diff --git a/roles/openshift_persistent_volumes/templates/persistent-volume-claim.yml.j2 b/roles/openshift_persistent_volumes/templates/persistent-volume-claim.yml.j2 index fac589a92..ca8b747ee 100644 --- a/roles/openshift_persistent_volumes/templates/persistent-volume-claim.yml.j2 +++ b/roles/openshift_persistent_volumes/templates/persistent-volume-claim.yml.j2 @@ -12,4 +12,7 @@ items: resources: requests: storage: "{{ claim.capacity }}" +{% if claim.storageclass is not None %} + storageClassName: "{{ claim.storageclass }}" +{% endif %} {% endfor %} diff --git a/roles/openshift_prometheus/tasks/install_prometheus.yaml b/roles/openshift_prometheus/tasks/install_prometheus.yaml index 0b565502f..5a8228bc4 100644 --- a/roles/openshift_prometheus/tasks/install_prometheus.yaml +++ b/roles/openshift_prometheus/tasks/install_prometheus.yaml @@ -2,6 +2,13 @@ # set facts - include_tasks: facts.yaml +- name: Ensure that Prometheus has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for Prometheus - '{{ openshift_prometheus_node_selector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_prometheus_node_selector) + # namespace - name: Add prometheus project oc_project: @@ -17,12 +24,12 @@ name: "{{ item }}-proxy" namespace: "{{ openshift_prometheus_namespace }}" contents: - - path: session_secret - data: "{{ 43 | lib_utils_oo_random_word }}=" + - path: session_secret + data: "{{ 43 | lib_utils_oo_random_word }}=" with_items: - - prometheus - - alerts - - alertmanager + - prometheus + - alerts + - alertmanager # serviceaccount - name: create prometheus serviceaccount @@ -62,10 +69,10 @@ oprometheus.io/scheme: https service.alpha.openshift.io/serving-cert-secret-name: prometheus-tls ports: - - name: prometheus - port: "{{ openshift_prometheus_service_port }}" - targetPort: "{{ openshift_prometheus_service_targetport }}" - protocol: TCP + - name: prometheus + port: "{{ openshift_prometheus_service_port }}" + targetPort: "{{ openshift_prometheus_service_targetport }}" + protocol: TCP selector: app: prometheus @@ -78,10 +85,10 @@ annotations: service.alpha.openshift.io/serving-cert-secret-name: alerts-tls ports: - - name: prometheus - port: "{{ openshift_prometheus_service_port }}" - targetPort: "{{ openshift_prometheus_alerts_service_targetport }}" - protocol: TCP + - name: prometheus + port: "{{ openshift_prometheus_service_port }}" + targetPort: "{{ openshift_prometheus_alerts_service_targetport }}" + protocol: TCP selector: app: prometheus @@ -94,10 +101,10 @@ annotations: service.alpha.openshift.io/serving-cert-secret-name: alertmanager-tls ports: - - name: prometheus - port: "{{ openshift_prometheus_service_port }}" - targetPort: "{{ openshift_prometheus_alertmanager_service_targetport }}" - protocol: TCP + - name: prometheus + port: "{{ openshift_prometheus_service_port }}" + targetPort: "{{ openshift_prometheus_alertmanager_service_targetport }}" + protocol: TCP selector: app: prometheus @@ -112,12 +119,12 @@ service_name: "{{ item.name }}" tls_termination: reencrypt with_items: - - name: prometheus - host: "{{ openshift_prometheus_hostname }}" - - name: alerts - host: "{{ openshift_prometheus_alerts_hostname }}" - - name: alertmanager - host: "{{ openshift_prometheus_alertmanager_hostname }}" + - name: prometheus + host: "{{ openshift_prometheus_hostname }}" + - name: alerts + host: "{{ openshift_prometheus_alerts_hostname }}" + - name: alertmanager + host: "{{ openshift_prometheus_alertmanager_hostname }}" # Storage - name: create prometheus pvc @@ -157,9 +164,9 @@ src: "{{ openshift_prometheus_additional_rules_file }}" dest: "{{ tempdir }}/prometheus.additional.rules" when: - - openshift_prometheus_additional_rules_file is defined - - openshift_prometheus_additional_rules_file is not none - - openshift_prometheus_additional_rules_file | trim | length > 0 + - openshift_prometheus_additional_rules_file is defined + - openshift_prometheus_additional_rules_file is not none + - openshift_prometheus_additional_rules_file | trim | length > 0 - stat: path: "{{ tempdir }}/prometheus.additional.rules" @@ -227,5 +234,5 @@ namespace: "{{ openshift_prometheus_namespace }}" kind: statefulset files: - - "{{ tempdir }}/templates/prometheus.yaml" + - "{{ tempdir }}/templates/prometheus.yaml" delete_after: true diff --git a/roles/openshift_prometheus/tasks/uninstall.yaml b/roles/openshift_prometheus/tasks/uninstall_prometheus.yaml index d746402db..d746402db 100644 --- a/roles/openshift_prometheus/tasks/uninstall.yaml +++ b/roles/openshift_prometheus/tasks/uninstall_prometheus.yaml diff --git a/roles/openshift_prometheus/vars/openshift-enterprise.yml b/roles/openshift_prometheus/vars/openshift-enterprise.yml index 9bb4c99bb..02319867d 100644 --- a/roles/openshift_prometheus/vars/openshift-enterprise.yml +++ b/roles/openshift_prometheus/vars/openshift-enterprise.yml @@ -6,7 +6,7 @@ l_openshift_prometheus_alertmanager_image_prefix: "{{ openshift_prometheus_alter l_openshift_prometheus_alertbuffer_image_prefix: "{{ openshift_prometheus_alertbuffer_image_prefix | default(l_openshift_prometheus_image_prefix) }}" # image version defaults -l_openshift_prometheus_image_version: "{{ openshift_prometheus_image_version | default('v3.7') }}" -l_openshift_prometheus_proxy_image_version: "{{ openshift_prometheus_proxy_image_version | default('v3.7') }}" -l_openshift_prometheus_alertmanager_image_version: "{{ openshift_prometheus_alertmanager_image_version | default('v3.7') }}" -l_openshift_prometheus_alertbuffer_image_version: "{{ openshift_prometheus_alertbuffer_image_version | default('v3.7') }}" +l_openshift_prometheus_image_version: "{{ openshift_prometheus_image_version | default(openshift_image_tag) }}" +l_openshift_prometheus_proxy_image_version: "{{ openshift_prometheus_proxy_image_version | default(openshift_image_tag) }}" +l_openshift_prometheus_alertmanager_image_version: "{{ openshift_prometheus_alertmanager_image_version | default(openshift_image_tag) }}" +l_openshift_prometheus_alertbuffer_image_version: "{{ openshift_prometheus_alertbuffer_image_version | default(openshift_image_tag) }}" diff --git a/roles/openshift_provisioners/defaults/main.yaml b/roles/openshift_provisioners/defaults/main.yaml index 34ba78404..a54bf6de2 100644 --- a/roles/openshift_provisioners/defaults/main.yaml +++ b/roles/openshift_provisioners/defaults/main.yaml @@ -11,7 +11,7 @@ openshift_provisioners_project: openshift-infra openshift_provisioners_image_prefix_dict: origin: "docker.io/openshift/origin-" - openshift-enterprise: "registry.access.redhat.com/openshift3/ose-" + openshift-enterprise: "registry.access.redhat.com/openshift3/" openshift_provisioners_image_version_dict: origin: "latest" diff --git a/roles/openshift_provisioners/tasks/install_provisioners.yaml b/roles/openshift_provisioners/tasks/install_provisioners.yaml index 2d1217c74..1be498489 100644 --- a/roles/openshift_provisioners/tasks/install_provisioners.yaml +++ b/roles/openshift_provisioners/tasks/install_provisioners.yaml @@ -15,6 +15,13 @@ fail: msg='the openshift_provisioners_efs_aws_secret_access_key variable is required' when: (openshift_provisioners_efs | bool) and openshift_provisioners_efs_aws_secret_access_key is not defined +- name: Ensure that provisioners have nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for Prometheus - '{{ openshift_provisioners_efs_nodeselector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_provisioners_efs_nodeselector) + - name: Install support include_tasks: install_support.yaml @@ -34,10 +41,10 @@ - name: Create objects include_tasks: oc_apply.yaml vars: - - kubeconfig: "{{ mktemp.stdout }}/admin.kubeconfig" - - namespace: "{{ openshift_provisioners_project }}" - - file_name: "{{ file.source }}" - - file_content: "{{ file.content | b64decode | from_yaml }}" + - kubeconfig: "{{ mktemp.stdout }}/admin.kubeconfig" + - namespace: "{{ openshift_provisioners_project }}" + - file_name: "{{ file.source }}" + - file_content: "{{ file.content | b64decode | from_yaml }}" with_items: "{{ object_defs.results }}" loop_control: loop_var: file diff --git a/roles/openshift_service_catalog/tasks/install.yml b/roles/openshift_service_catalog/tasks/install.yml index 4d06c1872..96fa4a93e 100644 --- a/roles/openshift_service_catalog/tasks/install.yml +++ b/roles/openshift_service_catalog/tasks/install.yml @@ -1,6 +1,5 @@ --- # do any asserts here - - name: Create temp directory for doing work in command: mktemp -d /tmp/openshift-service-catalog-ansible-XXXXXX register: mktemp @@ -9,8 +8,8 @@ - name: Set default image variables based on openshift_deployment_type include_vars: "{{ item }}" with_first_found: - - "{{ openshift_deployment_type }}.yml" - - "default_images.yml" + - "{{ openshift_deployment_type }}.yml" + - "default_images.yml" - name: Set service_catalog image facts set_fact: @@ -25,20 +24,20 @@ - when: os_sdn_network_plugin_name == 'redhat/openshift-ovs-multitenant' block: - - name: Waiting for netnamespace kube-service-catalog to be ready - oc_obj: - kind: netnamespace - name: kube-service-catalog - state: list - register: get_output - until: not get_output.results.stderr is defined - retries: 30 - delay: 1 - changed_when: false - - - name: Make kube-service-catalog project network global - command: > - {{ openshift_client_binary }} --config=/etc/origin/master/admin.kubeconfig adm pod-network make-projects-global kube-service-catalog + - name: Waiting for netnamespace kube-service-catalog to be ready + oc_obj: + kind: netnamespace + name: kube-service-catalog + state: list + register: get_output + until: not get_output.results.stderr is defined + retries: 30 + delay: 1 + changed_when: false + + - name: Make kube-service-catalog project network global + command: > + {{ openshift_client_binary }} --config=/etc/origin/master/admin.kubeconfig adm pod-network make-projects-global kube-service-catalog - include_tasks: generate_certs.yml @@ -51,7 +50,7 @@ kind: template namespace: "kube-service-catalog" files: - - "{{ mktemp.stdout }}/kubeservicecatalog_roles_bindings.yml" + - "{{ mktemp.stdout }}/kubeservicecatalog_roles_bindings.yml" - oc_process: create: True @@ -67,7 +66,7 @@ kind: template namespace: kube-system files: - - "{{ mktemp.stdout }}/kubesystem_roles_bindings.yml" + - "{{ mktemp.stdout }}/kubesystem_roles_bindings.yml" - oc_process: create: True @@ -132,7 +131,7 @@ kind: daemonset name: apiserver files: - - "{{ mktemp.stdout }}/service_catalog_api_server.yml" + - "{{ mktemp.stdout }}/service_catalog_api_server.yml" delete_after: yes - name: Set Service Catalog API Server service @@ -141,10 +140,10 @@ namespace: kube-service-catalog state: present ports: - - name: secure - port: 443 - protocol: TCP - targetPort: 6443 + - name: secure + port: 443 + protocol: TCP + targetPort: 6443 selector: app: apiserver session_affinity: None @@ -160,7 +159,7 @@ kind: route name: apiserver files: - - "{{ mktemp.stdout }}/service_catalog_api_route.yml" + - "{{ mktemp.stdout }}/service_catalog_api_route.yml" delete_after: yes ## controller manager @@ -180,7 +179,7 @@ kind: daemonset name: controller-manager files: - - "{{ mktemp.stdout }}/controller_manager.yml" + - "{{ mktemp.stdout }}/controller_manager.yml" delete_after: yes - name: Set Controller Manager service @@ -189,9 +188,9 @@ namespace: kube-service-catalog state: present ports: - - port: 6443 - protocol: TCP - targetPort: 6443 + - port: 6443 + protocol: TCP + targetPort: 6443 selector: app: controller-manager session_affinity: None diff --git a/roles/openshift_service_catalog/tasks/start_api_server.yml b/roles/openshift_service_catalog/tasks/start_api_server.yml index 84e542eaf..687d07abd 100644 --- a/roles/openshift_service_catalog/tasks/start_api_server.yml +++ b/roles/openshift_service_catalog/tasks/start_api_server.yml @@ -17,6 +17,6 @@ warn: no register: api_health until: api_health.stdout == 'ok' - retries: 120 - delay: 1 + retries: 60 + delay: 5 changed_when: false diff --git a/roles/openshift_service_catalog/vars/default_images.yml b/roles/openshift_service_catalog/vars/default_images.yml index 6fb9d1b86..b3bb16f18 100644 --- a/roles/openshift_service_catalog/vars/default_images.yml +++ b/roles/openshift_service_catalog/vars/default_images.yml @@ -1,3 +1,3 @@ --- __openshift_service_catalog_image_prefix: "docker.io/openshift/origin-" -__openshift_service_catalog_image_version: "latest" +__openshift_service_catalog_image_version: "{{ openshift_service_catalog_image_version | default(openshift_image_tag) }}" diff --git a/roles/openshift_service_catalog/vars/openshift-enterprise.yml b/roles/openshift_service_catalog/vars/openshift-enterprise.yml index cab9cc7d8..7f56292a2 100644 --- a/roles/openshift_service_catalog/vars/openshift-enterprise.yml +++ b/roles/openshift_service_catalog/vars/openshift-enterprise.yml @@ -1,3 +1,3 @@ --- __openshift_service_catalog_image_prefix: "registry.access.redhat.com/openshift3/ose-" -__openshift_service_catalog_image_version: "v3.7" +__openshift_service_catalog_image_version: "{{ openshift_service_catalog_image_version | default(openshift_image_tag) }}" diff --git a/roles/openshift_storage_glusterfs/README.md b/roles/openshift_storage_glusterfs/README.md index 70a89b0ba..65d38793c 100644 --- a/roles/openshift_storage_glusterfs/README.md +++ b/roles/openshift_storage_glusterfs/README.md @@ -81,8 +81,8 @@ GlusterFS cluster into a new or existing OpenShift cluster: | openshift_storage_glusterfs_name | 'storage' | A name to identify the GlusterFS cluster, which will be used in resource names | openshift_storage_glusterfs_nodeselector | 'glusterfs=storage-host'| Selector to determine which nodes will host GlusterFS pods in native mode. **NOTE:** The label value is taken from the cluster name | openshift_storage_glusterfs_use_default_selector | False | Whether to use a default node selector for the GlusterFS namespace/project. If False, the namespace/project will have no restricting node selector. If True, uses pre-existing or default (e.g. osm_default_node_selector) node selectors. **NOTE:** If True, nodes which will host GlusterFS pods must already have the additional labels. -| openshift_storage_glusterfs_storageclass | True | Automatically create a StorageClass for each GlusterFS cluster -| openshift_storage_glusterfs_storageclass_default | False | Sets the StorageClass for each GlusterFS cluster as default +| openshift_storage_glusterfs_storageclass | True | Automatically create a GlusterFS StorageClass for this group +| openshift_storage_glusterfs_storageclass_default | False | Sets the GlusterFS StorageClass for this group as cluster-wide default | openshift_storage_glusterfs_image | 'gluster/gluster-centos'| Container image to use for GlusterFS pods, enterprise default is 'rhgs3/rhgs-server-rhel7' | openshift_storage_glusterfs_version | 'latest' | Container image version to use for GlusterFS pods | openshift_storage_glusterfs_block_deploy | True | Deploy glusterblock provisioner service @@ -91,8 +91,8 @@ GlusterFS cluster into a new or existing OpenShift cluster: | openshift_storage_glusterfs_block_host_vol_create | True | Automatically create GlusterFS volumes to host glusterblock volumes. **NOTE:** If this is False, block-hosting volumes will need to be manually created before glusterblock volumes can be provisioned | openshift_storage_glusterfs_block_host_vol_size | 100 | Size, in GB, of GlusterFS volumes that will be automatically create to host glusterblock volumes if not enough space is available for a glusterblock volume create request. **NOTE:** This value is effectively an upper limit on the size of glusterblock volumes unless you manually create larger GlusterFS block-hosting volumes | openshift_storage_glusterfs_block_host_vol_max | 15 | Max number of GlusterFS volumes to host glusterblock volumes -| openshift_storage_glusterfs_block_storageclass | False | Automatically create a StorageClass for each Gluster Block cluster -| openshift_storage_glusterfs_block_storageclass_default | False | Sets the StorageClass for each Gluster Block cluster as default +| openshift_storage_glusterfs_block_storageclass | False | Automatically create a StorageClass for each glusterblock cluster +| openshift_storage_glusterfs_block_storageclass_default | False | Sets the glusterblock StorageClass for this group as cluster-wide default | openshift_storage_glusterfs_s3_deploy | True | Deploy gluster-s3 service | openshift_storage_glusterfs_s3_image | 'gluster/gluster-object'| Container image to use for gluster-s3 pod, enterprise default is 'rhgs3/rhgs-gluster-s3-server-rhel7' | openshift_storage_glusterfs_s3_version | 'latest' | Container image version to use for gluster=s3 pod @@ -118,8 +118,8 @@ GlusterFS cluster into a new or existing OpenShift cluster: | openshift_storage_glusterfs_heketi_ssh_user | 'root' | SSH user for external GlusterFS nodes via native heketi | openshift_storage_glusterfs_heketi_ssh_sudo | False | Whether to sudo (if non-root user) for SSH to external GlusterFS nodes via native heketi | openshift_storage_glusterfs_heketi_ssh_keyfile | Undefined | Path to a private key file for use with SSH connections to external GlusterFS nodes via native heketi **NOTE:** This must be an absolute path -| openshift_storage_glusterfs_heketi_fstab | '/var/lib/heketi/fstab' | When heketi is native, sets the path to the fstab file on the GlusterFS nodes to update on LVM volume mounts, changes to '/etc/fstab/' when the heketi executor is 'ssh' **NOTE:** This should not need to be changed -| openshift_storage_glusterfs_heketi_wipe | False | Destroy any existing heketi resources, defaults to the value of `openshift_storage_glusterfs_wipe` +| openshift_storage_glusterfs_heketi_fstab | '/var/lib/heketi/fstab' | When heketi is native, sets the path to the fstab file on the GlusterFS nodes to update on LVM volume mounts, changes to '/etc/fstab/' when the heketi executor is 'ssh' **NOTE:** This should not need to be changed +| openshift_storage_glusterfs_heketi_wipe | False | Destroy any existing heketi resources, defaults to the value of `openshift_storage_glusterfs_wipe` Each role variable also has a corresponding variable to optionally configure a separate GlusterFS cluster for use as storage for an integrated Docker @@ -131,11 +131,11 @@ are an exception: | Name | Default value | Description | |-----------------------------------------------------------------|-----------------------|-----------------------------------------| | openshift_storage_glusterfs_registry_namespace | registry namespace | Default is to use the hosted registry's namespace, otherwise 'glusterfs' -| openshift_storage_glusterfs_registry_name | 'registry' | This allows for the logical separation of the registry GlusterFS cluster from other GlusterFS clusters -| openshift_storage_glusterfs_registry_storageclass | False | It is recommended to not create a StorageClass for GlusterFS clusters serving registry storage, so as to avoid performance penalties -| openshift_storage_glusterfs_registry_storageclass_default | False | Sets the StorageClass for each GlusterFS cluster as default -| openshift_storage_glusterfs_registry_block_storageclass | False | It is recommended to not create a StorageClass for Gluster Block clusters serving registry storage, so as to avoid performance penalties -| openshift_storage_glusterfs_registry_block_storageclass_default | False | Sets the StorageClass for each Gluster Block cluster as default +| openshift_storage_glusterfs_registry_name | 'registry' | This allows for the logical separation of the registry group from other Gluster groups +| openshift_storage_glusterfs_registry_storageclass | False | It is recommended to not create a StorageClass for this group, so as to avoid noisy neighbor complications +| openshift_storage_glusterfs_registry_storageclass_default | False | Separate from the above +| openshift_storage_glusterfs_registry_block_storageclass | False | Only enable this for use by Logging and Metrics +| openshift_storage_glusterfs_registry_block_storageclass_default | False | Separate from the above | openshift_storage_glusterfs_registry_heketi_admin_key | auto-generated | Separate from the above | openshift_storage_glusterfs_registry_heketi_user_key | auto-generated | Separate from the above diff --git a/roles/openshift_storage_glusterfs/files/v3.6/deploy-heketi-template.yml b/roles/openshift_storage_glusterfs/files/v3.6/deploy-heketi-template.yml index 7b705c2d4..34af652c2 100644 --- a/roles/openshift_storage_glusterfs/files/v3.6/deploy-heketi-template.yml +++ b/roles/openshift_storage_glusterfs/files/v3.6/deploy-heketi-template.yml @@ -73,13 +73,11 @@ objects: - name: HEKETI_EXECUTOR value: ${HEKETI_EXECUTOR} - name: HEKETI_FSTAB - value: /var/lib/heketi/fstab + value: ${HEKETI_FSTAB} - name: HEKETI_SNAPSHOT_LIMIT value: '14' - name: HEKETI_KUBE_GLUSTER_DAEMONSET value: '1' - - name: HEKETI_KUBE_NAMESPACE - value: ${HEKETI_KUBE_NAMESPACE} ports: - containerPort: 8080 volumeMounts: @@ -115,10 +113,10 @@ parameters: displayName: heketi executor type description: Set the executor type, kubernetes or ssh value: kubernetes -- name: HEKETI_KUBE_NAMESPACE - displayName: Namespace - description: Set the namespace where the GlusterFS pods reside - value: default +- name: HEKETI_FSTAB + displayName: heketi fstab path + description: Set the fstab path, file that is populated with bricks that heketi creates + value: /var/lib/heketi/fstab - name: HEKETI_ROUTE displayName: heketi route name description: Set the hostname for the route URL diff --git a/roles/openshift_storage_glusterfs/files/v3.6/gluster-s3-pvcs-template.yml b/roles/openshift_storage_glusterfs/files/v3.6/gluster-s3-pvcs-template.yml new file mode 100644 index 000000000..064b51473 --- /dev/null +++ b/roles/openshift_storage_glusterfs/files/v3.6/gluster-s3-pvcs-template.yml @@ -0,0 +1,67 @@ +--- +kind: Template +apiVersion: v1 +metadata: + name: gluster-s3-pvcs + labels: + glusterfs: s3-pvcs-template + gluster-s3: pvcs-template + annotations: + description: Gluster S3 service template + tags: glusterfs,heketi,gluster-s3 +objects: +- kind: PersistentVolumeClaim + apiVersion: v1 + metadata: + name: "${PVC}" + labels: + glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage + gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pvc + annotations: + volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}" + spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: "${PVC_SIZE}" +- kind: PersistentVolumeClaim + apiVersion: v1 + metadata: + name: "${META_PVC}" + labels: + glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage + gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-meta-pvc + annotations: + volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}" + spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: "${META_PVC_SIZE}" +parameters: +- name: S3_ACCOUNT + displayName: S3 Account Name + description: S3 storage account which will provide storage on GlusterFS volumes + required: true +- name: PVC + displayName: Primary GlusterFS-backed PVC + description: GlusterFS-backed PVC for object storage + required: true +- name: PVC_SIZE + displayName: Primary GlusterFS-backed PVC capacity + description: Capacity for GlusterFS-backed PVC for object storage + value: 2Gi +- name: META_PVC + displayName: Metadata GlusterFS-backed PVC + description: GlusterFS-backed PVC for object storage metadata + required: true +- name: META_PVC_SIZE + displayName: Metadata GlusterFS-backed PVC capacity + description: Capacity for GlusterFS-backed PVC for object storage metadata + value: 1Gi +- name: CLUSTER_NAME + displayName: GlusterFS cluster name + description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances + value: storage diff --git a/roles/openshift_storage_glusterfs/files/v3.6/gluster-s3-template.yml b/roles/openshift_storage_glusterfs/files/v3.6/gluster-s3-template.yml new file mode 100644 index 000000000..896a1b226 --- /dev/null +++ b/roles/openshift_storage_glusterfs/files/v3.6/gluster-s3-template.yml @@ -0,0 +1,140 @@ +--- +kind: Template +apiVersion: v1 +metadata: + name: gluster-s3 + labels: + glusterfs: s3-template + gluster-s3: template + annotations: + description: Gluster S3 service template + tags: glusterfs,heketi,gluster-s3 +objects: +- kind: Service + apiVersion: v1 + metadata: + name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service + labels: + glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service + gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-service + spec: + ports: + - protocol: TCP + port: 8080 + targetPort: 8080 + selector: + glusterfs: s3-pod + type: ClusterIP + sessionAffinity: None + status: + loadBalancer: {} +- kind: Route + apiVersion: v1 + metadata: + name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route + labels: + glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route + gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-route + spec: + to: + kind: Service + name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service +- kind: DeploymentConfig + apiVersion: v1 + metadata: + name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc + labels: + glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc + gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-dc + annotations: + openshift.io/scc: privileged + description: Defines how to deploy gluster s3 object storage + spec: + replicas: 1 + selector: + glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod + template: + metadata: + name: gluster-${CLUSTER_NAME}-${S3_ACCOUNT}-s3 + labels: + glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod + gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pod + spec: + containers: + - name: gluster-s3 + image: ${IMAGE_NAME}:${IMAGE_VERSION} + imagePullPolicy: IfNotPresent + ports: + - name: gluster + containerPort: 8080 + protocol: TCP + env: + - name: S3_ACCOUNT + value: "${S3_ACCOUNT}" + - name: S3_USER + value: "${S3_USER}" + - name: S3_PASSWORD + value: "${S3_PASSWORD}" + resources: {} + volumeMounts: + - name: gluster-vol1 + mountPath: "/mnt/gluster-object/${S3_ACCOUNT}" + - name: gluster-vol2 + mountPath: "/mnt/gluster-object/gsmetadata" + - name: glusterfs-cgroup + readOnly: true + mountPath: "/sys/fs/cgroup" + terminationMessagePath: "/dev/termination-log" + securityContext: + privileged: true + volumes: + - name: glusterfs-cgroup + hostPath: + path: "/sys/fs/cgroup" + - name: gluster-vol1 + persistentVolumeClaim: + claimName: ${PVC} + - name: gluster-vol2 + persistentVolumeClaim: + claimName: ${META_PVC} + restartPolicy: Always + terminationGracePeriodSeconds: 30 + dnsPolicy: ClusterFirst + serviceAccountName: default + serviceAccount: default + securityContext: {} +parameters: +- name: IMAGE_NAME + displayName: glusterblock provisioner container image name + required: True +- name: IMAGE_VERSION + displayName: glusterblock provisioner container image version + required: True +- name: CLUSTER_NAME + displayName: GlusterFS cluster name + description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances + value: storage +- name: S3_ACCOUNT + displayName: S3 Account Name + description: S3 storage account which will provide storage on GlusterFS volumes + required: true +- name: S3_USER + displayName: S3 User + description: S3 user who can access the S3 storage account + required: true +- name: S3_PASSWORD + displayName: S3 User Password + description: Password for the S3 user + required: true +- name: PVC + displayName: Primary GlusterFS-backed PVC + description: GlusterFS-backed PVC for object storage + value: gluster-s3-claim +- name: META_PVC + displayName: Metadata GlusterFS-backed PVC + description: GlusterFS-backed PVC for object storage metadata + value: gluster-s3-meta-claim +- name: CLUSTER_NAME + displayName: GlusterFS cluster name + description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances + value: storage diff --git a/roles/openshift_storage_glusterfs/files/v3.6/glusterblock-provisioner.yml b/roles/openshift_storage_glusterfs/files/v3.6/glusterblock-provisioner.yml new file mode 100644 index 000000000..63dd5cce6 --- /dev/null +++ b/roles/openshift_storage_glusterfs/files/v3.6/glusterblock-provisioner.yml @@ -0,0 +1,104 @@ +--- +kind: Template +apiVersion: v1 +metadata: + name: glusterblock-provisioner + labels: + glusterfs: block-template + glusterblock: template + annotations: + description: glusterblock provisioner template + tags: glusterfs +objects: +- kind: ClusterRole + apiVersion: v1 + metadata: + name: glusterblock-provisioner-runner + labels: + glusterfs: block-provisioner-runner-clusterrole + glusterblock: provisioner-runner-clusterrole + rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "delete"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: [""] + resources: ["services"] + verbs: ["get"] + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "create", "delete"] + - apiGroups: [""] + resources: ["routes"] + verbs: ["get", "list"] +- apiVersion: v1 + kind: ServiceAccount + metadata: + name: glusterblock-${CLUSTER_NAME}-provisioner + labels: + glusterfs: block-${CLUSTER_NAME}-provisioner-sa + glusterblock: ${CLUSTER_NAME}-provisioner-sa +- apiVersion: v1 + kind: ClusterRoleBinding + metadata: + name: glusterblock-${CLUSTER_NAME}-provisioner + roleRef: + name: glusterblock-provisioner-runner + subjects: + - kind: ServiceAccount + name: glusterblock-${CLUSTER_NAME}-provisioner + namespace: ${NAMESPACE} +- kind: DeploymentConfig + apiVersion: v1 + metadata: + name: glusterblock-${CLUSTER_NAME}-provisioner-dc + labels: + glusterfs: block-${CLUSTER_NAME}-provisioner-dc + glusterblock: ${CLUSTER_NAME}-provisioner-dc + annotations: + description: Defines how to deploy the glusterblock provisioner pod. + spec: + replicas: 1 + selector: + glusterfs: block-${CLUSTER_NAME}-provisioner-pod + triggers: + - type: ConfigChange + strategy: + type: Recreate + template: + metadata: + name: glusterblock-provisioner + labels: + glusterfs: block-${CLUSTER_NAME}-provisioner-pod + spec: + serviceAccountName: glusterblock-${CLUSTER_NAME}-provisioner + containers: + - name: glusterblock-provisioner + image: ${IMAGE_NAME}:${IMAGE_VERSION} + imagePullPolicy: IfNotPresent + env: + - name: PROVISIONER_NAME + value: gluster.org/glusterblock +parameters: +- name: IMAGE_NAME + displayName: glusterblock provisioner container image name + required: True +- name: IMAGE_VERSION + displayName: glusterblock provisioner container image version + required: True +- name: NAMESPACE + displayName: glusterblock provisioner namespace + description: The namespace in which these resources are being created + required: True +- name: CLUSTER_NAME + displayName: GlusterFS cluster name + description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances + value: storage diff --git a/roles/openshift_storage_glusterfs/files/v3.6/glusterfs-template.yml b/roles/openshift_storage_glusterfs/files/v3.6/glusterfs-template.yml index 8c5e1ded3..09850a2c2 100644 --- a/roles/openshift_storage_glusterfs/files/v3.6/glusterfs-template.yml +++ b/roles/openshift_storage_glusterfs/files/v3.6/glusterfs-template.yml @@ -35,6 +35,15 @@ objects: - name: glusterfs image: ${IMAGE_NAME}:${IMAGE_VERSION} imagePullPolicy: IfNotPresent + env: + - name: GB_GLFS_LRU_COUNT + value: "${GB_GLFS_LRU_COUNT}" + - name: TCMU_LOGDIR + value: "${TCMU_LOGDIR}" + resources: + requests: + memory: 100Mi + cpu: 100m volumeMounts: - name: glusterfs-heketi mountPath: "/var/lib/heketi" @@ -83,7 +92,6 @@ objects: periodSeconds: 25 successThreshold: 1 failureThreshold: 15 - resources: {} terminationMessagePath: "/dev/termination-log" volumes: - name: glusterfs-heketi @@ -134,3 +142,13 @@ parameters: displayName: GlusterFS cluster name description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances value: storage +- name: GB_GLFS_LRU_COUNT + displayName: Maximum number of block hosting volumes + description: This value is to set maximum number of block hosting volumes. + value: "15" + required: true +- name: TCMU_LOGDIR + displayName: Tcmu runner log directory + description: This value is to set tcmu runner log directory + value: "/var/log/glusterfs/gluster-block" + required: true diff --git a/roles/openshift_storage_glusterfs/files/v3.6/heketi-template.yml b/roles/openshift_storage_glusterfs/files/v3.6/heketi-template.yml index 61b6a8c13..28cdb2982 100644 --- a/roles/openshift_storage_glusterfs/files/v3.6/heketi-template.yml +++ b/roles/openshift_storage_glusterfs/files/v3.6/heketi-template.yml @@ -15,6 +15,7 @@ objects: name: heketi-${CLUSTER_NAME} labels: glusterfs: heketi-${CLUSTER_NAME}-service + heketi: ${CLUSTER_NAME}-service annotations: description: Exposes Heketi service spec: @@ -30,6 +31,7 @@ objects: name: ${HEKETI_ROUTE} labels: glusterfs: heketi-${CLUSTER_NAME}-route + heketi: ${CLUSTER_NAME}-route spec: to: kind: Service @@ -40,6 +42,7 @@ objects: name: heketi-${CLUSTER_NAME} labels: glusterfs: heketi-${CLUSTER_NAME}-dc + heketi: ${CLUSTER_NAME}-dc annotations: description: Defines how to deploy Heketi spec: @@ -55,6 +58,7 @@ objects: name: heketi-${CLUSTER_NAME} labels: glusterfs: heketi-${CLUSTER_NAME}-pod + heketi: ${CLUSTER_NAME}-pod spec: serviceAccountName: heketi-${CLUSTER_NAME}-service-account containers: @@ -69,13 +73,11 @@ objects: - name: HEKETI_EXECUTOR value: ${HEKETI_EXECUTOR} - name: HEKETI_FSTAB - value: /var/lib/heketi/fstab + value: ${HEKETI_FSTAB} - name: HEKETI_SNAPSHOT_LIMIT value: '14' - name: HEKETI_KUBE_GLUSTER_DAEMONSET value: '1' - - name: HEKETI_KUBE_NAMESPACE - value: ${HEKETI_KUBE_NAMESPACE} ports: - containerPort: 8080 volumeMounts: @@ -114,10 +116,10 @@ parameters: displayName: heketi executor type description: Set the executor type, kubernetes or ssh value: kubernetes -- name: HEKETI_KUBE_NAMESPACE - displayName: Namespace - description: Set the namespace where the GlusterFS pods reside - value: default +- name: HEKETI_FSTAB + displayName: heketi fstab path + description: Set the fstab path, file that is populated with bricks that heketi creates + value: /var/lib/heketi/fstab - name: HEKETI_ROUTE displayName: heketi route name description: Set the hostname for the route URL diff --git a/roles/openshift_storage_glusterfs/tasks/glusterfs_common.yml b/roles/openshift_storage_glusterfs/tasks/glusterfs_common.yml index e6e261b52..4928e86e5 100644 --- a/roles/openshift_storage_glusterfs/tasks/glusterfs_common.yml +++ b/roles/openshift_storage_glusterfs/tasks/glusterfs_common.yml @@ -330,6 +330,25 @@ - path: key data: "{{ glusterfs_heketi_admin_key }}" when: glusterfs_heketi_admin_key is defined + + - name: Get heketi route + oc_obj: + namespace: "{{ glusterfs_namespace }}" + kind: route + state: list + name: "heketi-{{ glusterfs_name }}" + register: heketi_route + when: + - glusterfs_heketi_is_native + - glusterfs_heketi_route is not defined + + - name: Determine StorageClass heketi URL + set_fact: + glusterfs_heketi_route: "{{ heketi_route.results.results[0]['spec']['host'] }}" + when: + - glusterfs_heketi_is_native + - glusterfs_heketi_route is not defined + - name: Generate Gluster Block StorageClass file template: src: "{{ openshift.common.examples_content_version }}/gluster-block-storageclass.yml.j2" diff --git a/roles/openshift_storage_glusterfs/tasks/heketi_deploy_part2.yml b/roles/openshift_storage_glusterfs/tasks/heketi_deploy_part2.yml index c0a8c53de..303589617 100644 --- a/roles/openshift_storage_glusterfs/tasks/heketi_deploy_part2.yml +++ b/roles/openshift_storage_glusterfs/tasks/heketi_deploy_part2.yml @@ -1,6 +1,6 @@ --- - name: Create heketi DB volume - command: "{{ glusterfs_heketi_client }} setup-openshift-heketi-storage --listfile /tmp/heketi-storage.json" + command: "{{ glusterfs_heketi_client }} setup-openshift-heketi-storage --image {{ glusterfs_heketi_image}}:{{ glusterfs_heketi_version }} --listfile /tmp/heketi-storage.json" register: setup_storage - name: Copy heketi-storage list diff --git a/roles/openshift_storage_glusterfs/templates/v3.6/gluster-block-storageclass.yml.j2 b/roles/openshift_storage_glusterfs/templates/v3.6/gluster-block-storageclass.yml.j2 new file mode 100644 index 000000000..02ed8fa8d --- /dev/null +++ b/roles/openshift_storage_glusterfs/templates/v3.6/gluster-block-storageclass.yml.j2 @@ -0,0 +1,19 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: glusterfs-{{ glusterfs_name }}-block +{% if glusterfs_block_storageclass_default is defined and glusterfs_block_storageclass_default %} + annotations: + storageclass.kubernetes.io/is-default-class: "true" +{% endif %} +provisioner: gluster.org/glusterblock +parameters: + resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}" + restuser: "admin" + chapauthenabled: "true" + hacount: "3" +{% if glusterfs_heketi_admin_key is defined %} + restsecretnamespace: "{{ glusterfs_namespace }}" + restsecretname: "heketi-{{ glusterfs_name }}-admin-secret-block" +{%- endif -%} diff --git a/roles/openshift_storage_glusterfs/templates/v3.6/glusterfs-storageclass.yml.j2 b/roles/openshift_storage_glusterfs/templates/v3.6/glusterfs-storageclass.yml.j2 index ca87807fe..095fb780f 100644 --- a/roles/openshift_storage_glusterfs/templates/v3.6/glusterfs-storageclass.yml.j2 +++ b/roles/openshift_storage_glusterfs/templates/v3.6/glusterfs-storageclass.yml.j2 @@ -3,10 +3,6 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: glusterfs-{{ glusterfs_name }} -{% if glusterfs_storageclass_default is defined and glusterfs_storageclass_default %} - annotations: - storageclass.kubernetes.io/is-default-class: "true" -{% endif %} provisioner: kubernetes.io/glusterfs parameters: resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}" diff --git a/roles/openshift_storage_glusterfs/templates/v3.6/heketi.json.j2 b/roles/openshift_storage_glusterfs/templates/v3.6/heketi.json.j2 index 579b11bb7..565e9be98 100644 --- a/roles/openshift_storage_glusterfs/templates/v3.6/heketi.json.j2 +++ b/roles/openshift_storage_glusterfs/templates/v3.6/heketi.json.j2 @@ -31,6 +31,12 @@ "port" : "{{ glusterfs_heketi_ssh_port }}", "user" : "{{ glusterfs_heketi_ssh_user }}", "sudo" : {{ glusterfs_heketi_ssh_sudo | lower }} - } + }, + + "_auto_create_block_hosting_volume": "Creates Block Hosting volumes automatically if not found or exsisting volume exhausted", + "auto_create_block_hosting_volume": {{ glusterfs_block_host_vol_create | lower }}, + + "_block_hosting_volume_size": "New block hosting volume will be created in size mentioned, This is considered only if auto-create is enabled.", + "block_hosting_volume_size": {{ glusterfs_block_host_vol_size }} } } diff --git a/roles/openshift_web_console/files/console-template.yaml b/roles/openshift_web_console/files/console-template.yaml index 547e7a265..5bcfcf73f 100644 --- a/roles/openshift_web_console/files/console-template.yaml +++ b/roles/openshift_web_console/files/console-template.yaml @@ -67,10 +67,17 @@ objects: port: 8443 scheme: HTTPS livenessProbe: - httpGet: - path: / - port: 8443 - scheme: HTTPS + exec: + command: + - /bin/sh + - -i + - -c + - |- + if [[ ! -f /tmp/webconsole-config.hash ]]; then \ + md5sum /var/webconsole-config/webconsole-config.yaml > /tmp/webconsole-config.hash; \ + elif [[ $(md5sum /var/webconsole-config/webconsole-config.yaml) != $(cat /tmp/webconsole-config.hash) ]]; then \ + exit 1; \ + fi && curl -k -f https://0.0.0.0:8443/console/ resources: requests: cpu: 100m diff --git a/roles/openshift_web_console/tasks/install.yml b/roles/openshift_web_console/tasks/install.yml index f79a05c94..ab6613567 100644 --- a/roles/openshift_web_console/tasks/install.yml +++ b/roles/openshift_web_console/tasks/install.yml @@ -3,8 +3,8 @@ - name: Set default image variables based on deployment type include_vars: "{{ item }}" with_first_found: - - "{{ openshift_deployment_type | default(deployment_type) }}.yml" - - "default_images.yml" + - "{{ openshift_deployment_type | default(deployment_type) }}.yml" + - "default_images.yml" - name: Set openshift_web_console facts set_fact: @@ -19,7 +19,8 @@ name: openshift-web-console state: present node_selector: - - "" + - "" + register: create_console_project - name: Make temp directory for web console templates command: mktemp -d /tmp/console-ansible-XXXXXX @@ -36,9 +37,9 @@ src: "{{ item }}" dest: "{{ mktemp.stdout }}/{{ item }}" with_items: - - "{{ __console_template_file }}" - - "{{ __console_rbac_file }}" - - "{{ __console_config_file }}" + - "{{ __console_template_file }}" + - "{{ __console_rbac_file }}" + - "{{ __console_config_file }}" # Check if an existing webconsole-config config map exists. If so, use those # contents so we don't overwrite changes. @@ -61,69 +62,69 @@ # Generate a new config when a config map is not defined. - when: existing_config_map_data['webconsole-config.yaml'] is not defined block: - # Migrate the previous master-config.yaml asset config if it exists into the new - # web console config config map. - - name: Read existing assetConfig in master-config.yaml - slurp: - src: "{{ openshift.common.config_base }}/master/master-config.yaml" - register: master_config_output - - - set_fact: - config_to_migrate: "{{ master_config_output.content | b64decode | from_yaml }}" - - - set_fact: - cro_plugin_enabled: "{{ config_to_migrate.admissionConfig is defined and config_to_migrate.admissionConfig.pluginConfig is defined and config_to_migrate.admissionConfig.pluginConfig.ClusterResourceOverrides is defined }}" - - # Update properties in the config template based on inventory vars when the - # asset config does not exist. - - name: Set web console config properties from inventory variables - yedit: - src: "{{ mktemp.stdout }}/{{ __console_config_file }}" - edits: - - key: clusterInfo#consolePublicURL - # Must have a trailing slash - value: "{{ openshift.master.public_console_url }}/" - - key: clusterInfo#masterPublicURL - value: "{{ openshift.master.public_api_url }}" - - key: clusterInfo#logoutPublicURL - value: "{{ openshift.master.logout_url | default('') }}" - - key: features#inactivityTimeoutMinutes - value: "{{ openshift_web_console_inactivity_timeout_minutes | default(0) }}" - - key: features#clusterResourceOverridesEnabled - value: "{{ openshift_web_console_cluster_resource_overrides_enabled | default(cro_plugin_enabled) }}" - - key: extensions#scriptURLs - value: "{{ openshift_web_console_extension_script_urls | default([]) }}" - - key: extensions#stylesheetURLs - value: "{{ openshift_web_console_extension_stylesheet_urls | default([]) }}" - - key: extensions#properties - value: "{{ openshift_web_console_extension_properties | default({}) }}" - separator: '#' - state: present - when: config_to_migrate.assetConfig is not defined - - - name: Migrate assetConfig from master-config.yaml - yedit: - src: "{{ mktemp.stdout }}/{{ __console_config_file }}" - edits: - - key: clusterInfo#consolePublicURL - value: "{{ config_to_migrate.assetConfig.publicURL }}" - - key: clusterInfo#masterPublicURL - value: "{{ config_to_migrate.assetConfig.masterPublicURL }}" - - key: clusterInfo#logoutPublicURL - value: "{{ config_to_migrate.assetConfig.logoutURL | default('') }}" - - key: clusterInfo#metricsPublicURL - value: "{{ config_to_migrate.assetConfig.metricsPublicURL | default('') }}" - - key: clusterInfo#loggingPublicURL - value: "{{ config_to_migrate.assetConfig.loggingPublicURL | default('') }}" - - key: servingInfo#maxRequestsInFlight - value: "{{ config_to_migrate.assetConfig.servingInfo.maxRequestsInFlight | default(0) }}" - - key: servingInfo#requestTimeoutSeconds - value: "{{ config_to_migrate.assetConfig.servingInfo.requestTimeoutSeconds | default(0) }}" - - key: features#clusterResourceOverridesEnabled - value: "{{ openshift_web_console_cluster_resource_overrides_enabled | default(cro_plugin_enabled) }}" - separator: '#' - state: present - when: config_to_migrate.assetConfig is defined + # Migrate the previous master-config.yaml asset config if it exists into the new + # web console config config map. + - name: Read existing assetConfig in master-config.yaml + slurp: + src: "{{ openshift.common.config_base }}/master/master-config.yaml" + register: master_config_output + + - set_fact: + config_to_migrate: "{{ master_config_output.content | b64decode | from_yaml }}" + + - set_fact: + cro_plugin_enabled: "{{ config_to_migrate.admissionConfig is defined and config_to_migrate.admissionConfig.pluginConfig is defined and config_to_migrate.admissionConfig.pluginConfig.ClusterResourceOverrides is defined }}" + + # Update properties in the config template based on inventory vars when the + # asset config does not exist. + - name: Set web console config properties from inventory variables + yedit: + src: "{{ mktemp.stdout }}/{{ __console_config_file }}" + edits: + - key: clusterInfo#consolePublicURL + # Must have a trailing slash + value: "{{ openshift.master.public_console_url }}/" + - key: clusterInfo#masterPublicURL + value: "{{ openshift.master.public_api_url }}" + - key: clusterInfo#logoutPublicURL + value: "{{ openshift.master.logout_url | default('') }}" + - key: features#inactivityTimeoutMinutes + value: "{{ openshift_web_console_inactivity_timeout_minutes | default(0) }}" + - key: features#clusterResourceOverridesEnabled + value: "{{ openshift_web_console_cluster_resource_overrides_enabled | default(cro_plugin_enabled) }}" + - key: extensions#scriptURLs + value: "{{ openshift_web_console_extension_script_urls | default([]) }}" + - key: extensions#stylesheetURLs + value: "{{ openshift_web_console_extension_stylesheet_urls | default([]) }}" + - key: extensions#properties + value: "{{ openshift_web_console_extension_properties | default({}) }}" + separator: '#' + state: present + when: config_to_migrate.assetConfig is not defined + + - name: Migrate assetConfig from master-config.yaml + yedit: + src: "{{ mktemp.stdout }}/{{ __console_config_file }}" + edits: + - key: clusterInfo#consolePublicURL + value: "{{ config_to_migrate.assetConfig.publicURL }}" + - key: clusterInfo#masterPublicURL + value: "{{ config_to_migrate.assetConfig.masterPublicURL }}" + - key: clusterInfo#logoutPublicURL + value: "{{ config_to_migrate.assetConfig.logoutURL | default('') }}" + - key: clusterInfo#metricsPublicURL + value: "{{ config_to_migrate.assetConfig.metricsPublicURL | default('') }}" + - key: clusterInfo#loggingPublicURL + value: "{{ config_to_migrate.assetConfig.loggingPublicURL | default('') }}" + - key: servingInfo#maxRequestsInFlight + value: "{{ config_to_migrate.assetConfig.servingInfo.maxRequestsInFlight | default(0) }}" + - key: servingInfo#requestTimeoutSeconds + value: "{{ config_to_migrate.assetConfig.servingInfo.requestTimeoutSeconds | default(0) }}" + - key: features#clusterResourceOverridesEnabled + value: "{{ openshift_web_console_cluster_resource_overrides_enabled | default(cro_plugin_enabled) }}" + separator: '#' + state: present + when: config_to_migrate.assetConfig is defined - slurp: src: "{{ mktemp.stdout }}/{{ __console_config_file }}" @@ -144,6 +145,16 @@ --config={{ mktemp.stdout }}/admin.kubeconfig | {{ openshift_client_binary }} apply --config={{ mktemp.stdout }}/admin.kubeconfig -f - +# Wait to give the rollout time to start before verifying that the console is +# running. Unfortunately, we can't check if the deployment revision changed +# because it's possible applying the template did not result in any changes to +# the pod template spec, which would skip a new revision. +- name: Pause for the web console deployment to start + pause: + seconds: 30 + # Skip if the project didn't exist since there was no previous deployment. + when: not create_console_project.changed + - name: Verify that the web console is running command: > curl -k https://webconsole.openshift-web-console.svc/healthz @@ -153,8 +164,8 @@ warn: no register: console_health until: console_health.stdout == 'ok' - retries: 120 - delay: 1 + retries: 60 + delay: 5 changed_when: false - name: Remove temp directory diff --git a/roles/openshift_web_console/tasks/update_console_config.yml b/roles/openshift_web_console/tasks/update_console_config.yml index 967222ea4..8b967cda3 100644 --- a/roles/openshift_web_console/tasks/update_console_config.yml +++ b/roles/openshift_web_console/tasks/update_console_config.yml @@ -5,9 +5,6 @@ # `value` properties in the same format as `yedit` module `edits`. Only # properties passed are updated. The separator for nested properties is `#`. # -# Note that this triggers a redeployment on the console and a brief downtime -# since it uses a `Recreate` strategy. -# # Example usage: # # - include_role: @@ -55,13 +52,9 @@ state: present from_file: webconsole-config.yaml: "{{ mktemp_console.stdout }}/webconsole-config.yaml" - register: update_console_config_map - name: Remove temp directory file: state: absent name: "{{ mktemp_console.stdout }}" changed_when: False - - - include_tasks: rollout_console.yml - when: update_console_config_map.changed | bool diff --git a/roles/openshift_web_console/vars/default_images.yml b/roles/openshift_web_console/vars/default_images.yml index 42d331ac5..0bd4e981d 100644 --- a/roles/openshift_web_console/vars/default_images.yml +++ b/roles/openshift_web_console/vars/default_images.yml @@ -1,4 +1,4 @@ --- __openshift_web_console_prefix: "docker.io/openshift/origin-" -__openshift_web_console_version: "latest" +__openshift_web_console_version: "{{ openshift_image_tag }}" __openshift_web_console_image_name: "web-console" diff --git a/roles/openshift_web_console/vars/openshift-enterprise.yml b/roles/openshift_web_console/vars/openshift-enterprise.yml index d0bb61a56..fd5e4e9a0 100644 --- a/roles/openshift_web_console/vars/openshift-enterprise.yml +++ b/roles/openshift_web_console/vars/openshift-enterprise.yml @@ -1,4 +1,4 @@ --- __openshift_web_console_prefix: "registry.access.redhat.com/openshift3/ose-" -__openshift_web_console_version: "v3.10" +__openshift_web_console_version: "{{ openshift_image_tag }}" __openshift_web_console_image_name: "web-console" diff --git a/roles/template_service_broker/tasks/install.yml b/roles/template_service_broker/tasks/install.yml index d0a07c48d..d674d24e4 100644 --- a/roles/template_service_broker/tasks/install.yml +++ b/roles/template_service_broker/tasks/install.yml @@ -1,10 +1,17 @@ --- # Fact setting +- name: Ensure that Template Service Broker has nodes to run on + fail: + msg: |- + No schedulable nodes found matching node selector for Template Service Broker - '{{ template_service_broker_selector }}' + when: + - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(template_service_broker_selector) + - name: Set default image variables based on openshift_deployment_type include_vars: "{{ item }}" with_first_found: - - "{{ openshift_deployment_type }}.yml" - - "default_images.yml" + - "{{ openshift_deployment_type }}.yml" + - "default_images.yml" - name: set template_service_broker facts set_fact: @@ -16,7 +23,7 @@ name: openshift-template-service-broker state: present node_selector: - - "" + - "" - command: mktemp -d /tmp/tsb-ansible-XXXXXX register: mktemp @@ -31,10 +38,10 @@ src: "{{ item }}" dest: "{{ mktemp.stdout }}/{{ item }}" with_items: - - "{{ __tsb_template_file }}" - - "{{ __tsb_rbac_file }}" - - "{{ __tsb_broker_file }}" - - "{{ __tsb_config_file }}" + - "{{ __tsb_template_file }}" + - "{{ __tsb_rbac_file }}" + - "{{ __tsb_broker_file }}" + - "{{ __tsb_config_file }}" - yedit: src: "{{ mktemp.stdout }}/{{ __tsb_config_file }}" @@ -71,8 +78,8 @@ warn: no register: api_health until: api_health.stdout == 'ok' - retries: 120 - delay: 1 + retries: 60 + delay: 5 changed_when: false - set_fact: diff --git a/roles/template_service_broker/vars/default_images.yml b/roles/template_service_broker/vars/default_images.yml index dc164a4db..b99f52bbb 100644 --- a/roles/template_service_broker/vars/default_images.yml +++ b/roles/template_service_broker/vars/default_images.yml @@ -1,4 +1,4 @@ --- __template_service_broker_prefix: "docker.io/openshift/origin-" -__template_service_broker_version: "latest" +__template_service_broker_version: "{{ openshift_image_tag }}" __template_service_broker_image_name: "template-service-broker" diff --git a/roles/template_service_broker/vars/openshift-enterprise.yml b/roles/template_service_broker/vars/openshift-enterprise.yml index b65b97691..4bc3795bd 100644 --- a/roles/template_service_broker/vars/openshift-enterprise.yml +++ b/roles/template_service_broker/vars/openshift-enterprise.yml @@ -1,4 +1,4 @@ --- __template_service_broker_prefix: "registry.access.redhat.com/openshift3/ose-" -__template_service_broker_version: "v3.7" +__template_service_broker_version: "{{ openshift_image_tag }}" __template_service_broker_image_name: "template-service-broker" diff --git a/utils/src/ooinstall/cli_installer.py b/utils/src/ooinstall/cli_installer.py index eb42721b5..ffab3bfbf 100644 --- a/utils/src/ooinstall/cli_installer.py +++ b/utils/src/ooinstall/cli_installer.py @@ -796,6 +796,17 @@ If changes are needed please edit the installer.cfg.yml config file above and re if not unattended: confirm_continue(message) + error = openshift_ansible.run_prerequisites(inventory_file, oo_cfg.deployment.hosts, + hosts_to_run_on, verbose) + if error: + # The bootstrap script will print out the log location. + message = """ +An error was detected. After resolving the problem please relaunch the +installation process. +""" + click.echo(message) + sys.exit(1) + error = openshift_ansible.run_main_playbook(inventory_file, oo_cfg.deployment.hosts, hosts_to_run_on, verbose) diff --git a/utils/src/ooinstall/openshift_ansible.py b/utils/src/ooinstall/openshift_ansible.py index 84a76fa53..5e1ad09d5 100644 --- a/utils/src/ooinstall/openshift_ansible.py +++ b/utils/src/ooinstall/openshift_ansible.py @@ -275,6 +275,21 @@ def default_facts(hosts, verbose=False): return load_system_facts(inventory_file, os_facts_path, facts_env, verbose) +def run_prerequisites(inventory_file, hosts, hosts_to_run_on, verbose=False): + global CFG + prerequisites_playbook_path = os.path.join(CFG.ansible_playbook_directory, + 'playbooks/prerequisites.yml') + facts_env = os.environ.copy() + if 'ansible_log_path' in CFG.settings: + facts_env['ANSIBLE_LOG_PATH'] = CFG.settings['ansible_log_path'] + + # override the ansible config for prerequisites playbook run + if 'ansible_quiet_config' in CFG.settings: + facts_env['ANSIBLE_CONFIG'] = CFG.settings['ansible_quiet_config'] + + return run_ansible(prerequisites_playbook_path, inventory_file, facts_env, verbose) + + def run_main_playbook(inventory_file, hosts, hosts_to_run_on, verbose=False): global CFG if len(hosts_to_run_on) != len(hosts): @@ -282,7 +297,7 @@ def run_main_playbook(inventory_file, hosts, hosts_to_run_on, verbose=False): 'playbooks/openshift-node/scaleup.yml') else: main_playbook_path = os.path.join(CFG.ansible_playbook_directory, - 'playbooks/byo/openshift-cluster/config.yml') + 'playbooks/deploy_cluster.yml') facts_env = os.environ.copy() if 'ansible_log_path' in CFG.settings: facts_env['ANSIBLE_LOG_PATH'] = CFG.settings['ansible_log_path'] diff --git a/utils/test/cli_installer_tests.py b/utils/test/cli_installer_tests.py index 2259f3416..e5e66c1ee 100644 --- a/utils/test/cli_installer_tests.py +++ b/utils/test/cli_installer_tests.py @@ -393,14 +393,16 @@ class UnattendedCliTests(OOCliFixture): # unattended with config file and all installed hosts (without --force) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_get_hosts_to_run_on1(self, load_facts_mock, run_playbook_mock): + def test_get_hosts_to_run_on1(self, load_facts_mock, prerequisites_mock, run_playbook_mock): mock_facts = copy.deepcopy(MOCK_FACTS) mock_facts['10.0.0.1']['common']['version'] = "3.0.0" mock_facts['10.0.0.2']['common']['version'] = "3.0.0" mock_facts['10.0.0.3']['common']['version'] = "3.0.0" load_facts_mock.return_value = (mock_facts, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config( @@ -415,12 +417,15 @@ class UnattendedCliTests(OOCliFixture): # unattended with config file and all installed hosts (with --force) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_get_hosts_to_run_on2(self, load_facts_mock, run_playbook_mock): + def test_get_hosts_to_run_on2(self, load_facts_mock, prerequisites_mock, run_playbook_mock): mock_facts = copy.deepcopy(MOCK_FACTS) mock_facts['10.0.0.1']['common']['version'] = "3.0.0" mock_facts['10.0.0.2']['common']['version'] = "3.0.0" mock_facts['10.0.0.3']['common']['version'] = "3.0.0" + prerequisites_mock.return_value = 0 + self._verify_get_hosts_to_run_on(mock_facts, load_facts_mock, run_playbook_mock, cli_input=None, exp_hosts_len=3, @@ -429,9 +434,11 @@ class UnattendedCliTests(OOCliFixture): # unattended with config file and no installed hosts (without --force) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_get_hosts_to_run_on3(self, load_facts_mock, run_playbook_mock): + def test_get_hosts_to_run_on3(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 self._verify_get_hosts_to_run_on(MOCK_FACTS, load_facts_mock, run_playbook_mock, cli_input=None, @@ -441,9 +448,11 @@ class UnattendedCliTests(OOCliFixture): # unattended with config file and no installed hosts (with --force) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_get_hosts_to_run_on4(self, load_facts_mock, run_playbook_mock): + def test_get_hosts_to_run_on4(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 self._verify_get_hosts_to_run_on(MOCK_FACTS, load_facts_mock, run_playbook_mock, cli_input=None, @@ -453,8 +462,9 @@ class UnattendedCliTests(OOCliFixture): # unattended with config file and some installed some uninstalled hosts (without --force) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_get_hosts_to_run_on5(self, load_facts_mock, run_playbook_mock): + def test_get_hosts_to_run_on5(self, load_facts_mock, prerequisites_mock, run_playbook_mock): mock_facts = copy.deepcopy(MOCK_FACTS) mock_facts['10.0.0.1']['common']['version'] = "3.0.0" mock_facts['10.0.0.2']['common']['version'] = "3.0.0" @@ -465,22 +475,24 @@ class UnattendedCliTests(OOCliFixture): force=False) # unattended with config file and some installed some uninstalled hosts (with --force) - @patch('ooinstall.openshift_ansible.run_main_playbook') - @patch('ooinstall.openshift_ansible.load_system_facts') - def test_get_hosts_to_run_on6(self, load_facts_mock, run_playbook_mock): - mock_facts = copy.deepcopy(MOCK_FACTS) - mock_facts['10.0.0.1']['common']['version'] = "3.0.0" - mock_facts['10.0.0.2']['common']['version'] = "3.0.0" - self._verify_get_hosts_to_run_on(mock_facts, load_facts_mock, run_playbook_mock, - cli_input=None, - exp_hosts_len=3, - exp_hosts_to_run_on_len=3, - force=True) + # @patch('ooinstall.openshift_ansible.run_main_playbook') + # @patch('ooinstall.openshift_ansible.load_system_facts') + # def test_get_hosts_to_run_on6(self, load_facts_mock, run_playbook_mock): + # mock_facts = copy.deepcopy(MOCK_FACTS) + # mock_facts['10.0.0.1']['common']['version'] = "3.0.0" + # mock_facts['10.0.0.2']['common']['version'] = "3.0.0" + # self._verify_get_hosts_to_run_on(mock_facts, load_facts_mock, run_playbook_mock, + # cli_input=None, + # exp_hosts_len=3, + # exp_hosts_to_run_on_len=3, + # force=True) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_cfg_full_run(self, load_facts_mock, run_playbook_mock): + def test_cfg_full_run(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config( @@ -514,10 +526,12 @@ class UnattendedCliTests(OOCliFixture): self.assertEquals(3, len(hosts_to_run_on)) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_inventory_write(self, load_facts_mock, run_playbook_mock): + def test_inventory_write(self, load_facts_mock, prerequisites_mock, run_playbook_mock): merged_config = SAMPLE_CONFIG % 'openshift-enterprise' load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config( @@ -551,9 +565,11 @@ class UnattendedCliTests(OOCliFixture): self.assertTrue('openshift_public_hostname' in master_line) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_variant_version_latest_assumed(self, load_facts_mock, run_playbook_mock): + def test_variant_version_latest_assumed(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config( @@ -578,9 +594,11 @@ class UnattendedCliTests(OOCliFixture): inventory.get('OSEv3:vars', 'deployment_type')) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_variant_version_preserved(self, load_facts_mock, run_playbook_mock): + def test_variant_version_preserved(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config = SAMPLE_CONFIG % 'openshift-enterprise' @@ -606,9 +624,11 @@ class UnattendedCliTests(OOCliFixture): # unattended with bad config file and no installed hosts (without --force) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_bad_config(self, load_facts_mock, run_playbook_mock): + def test_bad_config(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config( @@ -625,9 +645,11 @@ class UnattendedCliTests(OOCliFixture): # unattended with three masters, one node, and haproxy @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_quick_ha_full_run(self, load_facts_mock, run_playbook_mock): + def test_quick_ha_full_run(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS_QUICKHA, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config( @@ -646,9 +668,11 @@ class UnattendedCliTests(OOCliFixture): # unattended with two masters, one node, and haproxy @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_quick_ha_only_2_masters(self, load_facts_mock, run_playbook_mock): + def test_quick_ha_only_2_masters(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS_QUICKHA, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config( @@ -664,9 +688,11 @@ class UnattendedCliTests(OOCliFixture): # unattended with three masters, one node, but no load balancer specified: @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_quick_ha_no_lb(self, load_facts_mock, run_playbook_mock): + def test_quick_ha_no_lb(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS_QUICKHA, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config( @@ -682,9 +708,11 @@ class UnattendedCliTests(OOCliFixture): # unattended with three masters, one node, and one of the masters reused as load balancer: @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_quick_ha_reused_lb(self, load_facts_mock, run_playbook_mock): + def test_quick_ha_reused_lb(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS_QUICKHA, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config( @@ -699,9 +727,11 @@ class UnattendedCliTests(OOCliFixture): # unattended with preconfigured lb @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_quick_ha_preconfigured_lb(self, load_facts_mock, run_playbook_mock): + def test_quick_ha_preconfigured_lb(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS_QUICKHA, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config( @@ -728,9 +758,11 @@ class AttendedCliTests(OOCliFixture): self.cli_args.extend(["-c", self.config_file]) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_full_run(self, load_facts_mock, run_playbook_mock): + def test_full_run(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 cli_input = build_input( @@ -764,8 +796,9 @@ class AttendedCliTests(OOCliFixture): # interactive with config file and some installed some uninstalled hosts @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_scaleup_hint(self, load_facts_mock, run_playbook_mock): + def test_scaleup_hint(self, load_facts_mock, prerequisites_mock, run_playbook_mock): # Modify the mock facts to return a version indicating OpenShift # is already installed on our master, and the first node. @@ -774,6 +807,7 @@ class AttendedCliTests(OOCliFixture): mock_facts['10.0.0.2']['common']['version'] = "3.0.0" load_facts_mock.return_value = (mock_facts, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 cli_input = build_input( @@ -797,9 +831,11 @@ class AttendedCliTests(OOCliFixture): self.assert_result(result, 1) @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_fresh_install_with_config(self, load_facts_mock, run_playbook_mock): + def test_fresh_install_with_config(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 config_file = self.write_config(os.path.join(self.work_dir, @@ -821,6 +857,7 @@ class AttendedCliTests(OOCliFixture): # #interactive with config file and all installed hosts # @patch('ooinstall.openshift_ansible.run_main_playbook') +# @patch('ooinstall.openshift_ansible.run_prerequisites') # @patch('ooinstall.openshift_ansible.load_system_facts') # def test_get_hosts_to_run_on(self, load_facts_mock, run_playbook_mock): # mock_facts = copy.deepcopy(MOCK_FACTS) @@ -846,9 +883,11 @@ class AttendedCliTests(OOCliFixture): # interactive multimaster: one more node than master @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_ha_dedicated_node(self, load_facts_mock, run_playbook_mock): + def test_ha_dedicated_node(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS_QUICKHA, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 cli_input = build_input( @@ -889,9 +928,11 @@ class AttendedCliTests(OOCliFixture): # interactive multimaster: identical masters and nodes @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_ha_no_dedicated_nodes(self, load_facts_mock, run_playbook_mock): + def test_ha_no_dedicated_nodes(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS_QUICKHA, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 cli_input = build_input( @@ -958,9 +999,11 @@ class AttendedCliTests(OOCliFixture): # interactive multimaster: attempting to use a master as the load balancer should fail: @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_ha_reuse_master_as_lb(self, load_facts_mock, run_playbook_mock): + def test_ha_reuse_master_as_lb(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS_QUICKHA, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 cli_input = build_input( @@ -981,9 +1024,11 @@ class AttendedCliTests(OOCliFixture): # interactive all-in-one @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_all_in_one(self, load_facts_mock, run_playbook_mock): + def test_all_in_one(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 cli_input = build_input( @@ -1010,9 +1055,11 @@ class AttendedCliTests(OOCliFixture): 'openshift_schedulable=True') @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.run_prerequisites') @patch('ooinstall.openshift_ansible.load_system_facts') - def test_gen_inventory(self, load_facts_mock, run_playbook_mock): + def test_gen_inventory(self, load_facts_mock, prerequisites_mock, run_playbook_mock): load_facts_mock.return_value = (MOCK_FACTS, 0) + prerequisites_mock.return_value = 0 run_playbook_mock.return_value = 0 cli_input = build_input( |